Re: [Evolution-hackers] [Fwd: [Fwd: A problem in libsoup]]



On Wed, 2003-04-09 at 12:00, Dan Winship wrote:
> No, it's not NTLM-related at all it turns out. It only happens with
> openssl, and it happens pretty reliably then. I think the issue is that
> with non-ssl or non-openssl, soup doesn't notice when the connection is
> closed until after it has finished processing the response, but in the
> openssl case, because of the interaction with the proxy, it notices
> right away (and so connection_death gets called before soup has
> processed any of the response, and some of the response-processing code
> assumes the message is attached to a valid connection).
> 
> Having just spent a lot of time looking at this, I'm less and less
> convinced that connection_death() was wrong to begin with. I think the
> problem rcd is seeing is actually caused by something leaving
> conn->in_use set TRUE when nothing is actually paying attention to the
> connection.

Err, do you mean that you think my fix was ok? :)

What you described is pretty much the problem I was seeing.  As soon as
the connection is made, connection_death() is set up.  Then the remote
side immediately closes the connection.  This causes a HUP on the
channel, and connection_death() loops forever because in_use is TRUE and
is never set to FALSE.  Had the HUP occurred later, after the
soup-transfer stuff had been set up, it would have just gone through the
normal error and the connection would be released (and in_use set to
FALSE) in soup_message_cleanup().

Joe




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]