[squid-dev] [PATCH] tentative fix for bug 4438

Kinkie gkinkie at gmail.com
Sun Mar 6 21:15:58 UTC 2016


On Sun, Mar 6, 2016 at 9:41 PM, Alex Rousskov
<rousskov at measurement-factory.com> wrote:
> On 03/06/2016 11:16 AM, Kinkie wrote:
>
>> As I cannot reproduce the issue it's really hard to do a root cause analysis.
>
> Agreed. However, if you can make SBuf/MemBlob use memory pools before
> those pools are initialized, then we do have a bug worth fixing (even if
> Yuri does not suffer from that specific bug). It may be possible to
> easily reproduce _that_ bug by adding a few static SBuf variables
> directly to squid.h.

old_api should be already doing that by rounding strings' sizes up to
SmallestStringBeforeMemIsInitialized (16kb + 4 bytes), I'm working on
the assumption that for some reason this mechanism is failing either
at startup or at shutdown time.

>> At this point I'm thinking about reinstrumenting MemBlob not to use
>> mem/old_api but to use its own pools.
>
> Why would that make any difference? Whatever pools MemBlob is using,
> they must be initialized prior to use. Thus, it is probably best to fix
> "old_api" initialization than to duplicate that [buggy] code.

.. or to get out from there at all. Having the MemBlob pools be static
members of the MemBlob class will guarantee proper initialization
before even the first MemBlob is instantiated, won't it?

-- 
    Francesco


More information about the squid-dev mailing list