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. > > > > >