[squid-users] assertion failed: client_side.h:364: "sslServerBump == srvBump"
Marc Micalizzi
marc at selectgranitetops.com
Mon Apr 20 19:46:12 UTC 2015
I'm encountering this same issue in Squid-3.5.3
> Changed to:
>
> inline void setServerBump(Ssl::ServerBump *srvBump) {
> if (!sslServerBump)
> sslServerBump = srvBump;
> else
> assert(sslServerBump = srvBump);
Just FYI, from a glance this would leak an Ssl::ServerBump every time it hit
that assert, which at least in my case would be quite often.
What I ended up doing, which could be completely wrong for the behaviour,
but it seems to avoid the crashes, was add a function clearServerBump(), and
use that in setServerBump to clean up the old sslServerBump (as in the
header file it is only a forward declaration of the class):
client_side.h
void clearServerBump();
inline void setServerBump(Ssl::ServerBump *srvBump) {
if (sslServerBump) {
if (sslServerBump != srvBump) {
clearServerBump();
} else {
return;
}
}
sslServerBump = srvBump;
}
client_side.cc
void ConnStateData::clearServerBump() {
delete sslServerBump;
sslServerBump = 0;
}
This could entirely have unintended side effects as I am not very familiar
with how sslbumping is implemented, and the intended lifetime of the objects
as relates to the client requests, but if you're still using the workaround
you posted I thought you should be aware that you would be leaking memory
and provide you with an equivalent "solution" which does not leak memory in
the same way.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20150420/3db123ee/attachment.html>
More information about the squid-users
mailing list