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

Re: serf infinite loop in svn_ra_serf__handle_xml_parser()

From: Greg Stein <gstein_at_gmail.com>
Date: Fri, 24 Jun 2011 13:46:42 -0400

On Jun 24, 2011 8:45 AM, "Stefan Sperling" <stsp_at_elego.de> wrote:
>
> Trying to update my working copy I observed svn spinning on the CPU
> forever. Attaching with gdb showed that it was stuck in an endless
> loop inside svn_ra_serf__handle_xml_parser().
>
> Below is the code. The problem was that serf_bucket_read() returned
> zero bytes but also indicated success. If that happens the loop never
> terminates.

When you say "success", you mean status==0?

>
> I suppose this code was written with the assumption that reading
> from the socket would always block until data is available?
> This does not seem to happen in my case. Maybe serf is doing something
> wrong when it opens the socket?

No, it would never block. The bucket should return EAGAIN when it has no
more data.

>...

I'll investigate...

Cheers,
-g
Received on 2011-06-24 19:47:15 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.