Alex Rousskov wrote:
> 
>> I think, the only solution for squid3.0 is to try to handle the exceptions
>> thrown by ChunkedCodingParser::parse method,  inside the 
>> ICAPModXact::parseBody
>> method ...
> 
> What about throwing from undoCheckOut? Would that work in Squid 3.0? It
> will work in trunk, right?
> 

I will try both, to see what is better.
The ICAPModXact::parseBody maybe is a better place because we can
informed about the parse error and handle it as a "parse error" and
maybe disable the buggy ICAP service.
If we handle it where the undoCheckOut called we do not know where
exactly is the problem.


>> The problem does not exists in squid3 async-calls branch.
> 
> Do you understand why? Can you explain?
> 

The related asserts are replaced with Must commands (only in async-call
branch), and I think BodyPipe in squid3-trunk can handle better the
cases where a problem occurred in the one part of the pipe.

For example in squid3.0 simply catching the exception is not enough
because the client-side part of the pipe does not informed about the
error and try to continue using the pipe and squid hits other assertions.


> Thank you,
> 
> Alex.
> 
> 
> 
> 
> 

Reply via email to