[squid-dev] [PATCH] Fixed Write.cc:41 "!ccb->active()" assertion
squid3 at treenet.co.nz
Tue Nov 15 05:21:34 UTC 2016
On 15/11/2016 7:03 a.m., Christos Tsantilas wrote:
> The following sequence of events triggers this assertion:
> - The server sends an 1xx control message.
> - http.cc schedules ConnStateData::sendControlMsg call.
> - Before sendControlMsg is fired, http.cc detects an error (e.g., I/O
> error or timeout) and starts writing the reply to the user.
> - The ConnStateData::sendControlMsg is fired, starts writing 1xx, and
> hits the "no concurrent writes" assertion.
> We could only reproduce this sequence in the lab after changing Squid
> code to trigger a timeout at the right moment, but the sequence looks
> plausible. Other event sequences might result in the same outcome.
> To avoid concurrent writes, Squid now drops the control message if
> Http::One::Server detects that a reply is already being written. Also,
> ConnStateData delays reply writing until a pending control message write
> has been completed.
> There is strong possibility that the bug fixing this patch is a variant
> of the bug4174:
> However we are getting different backtrace.
> This is a Measurement Factory project.
+1. Looks okay.
More information about the squid-dev