[squid-users] Re: negotiate_kerberos_auth helpers stay busy

From: Markus Moeller <huaraz_at_moeller.plus.com>
Date: Wed, 7 Aug 2013 21:22:07 +0100

Maybe it is somewhere in the auth handler in squid.

Markus

"Klaus Walter" <klaus.walter_at_spb.de> wrote in message
news:086bae224bf3fd9ccf686c85e2e54246_at_myway.de...
> Hi Markus,
>
> yes, you are right.
> But why is squid using more and more memory until it dies because there
> is no more memory available at the server.
>
> When I run the same squid 3.2.1 with the same configuration but with basic
> authentication only the memory usage is constant and it is running stable.
>
> As soon as I add the negotiate_kerberos_helper I have to restart squid
> after some hours because it is out of memory.
>
> Running pmap shows the growing amount of memory (last line of my copy):
>
> 28076: (squid-1) -f /etc/squid/squid-C.conf
> Address Kbytes Mode Offset Device Mapping
> 0000000000400000 4088 r-x-- 0000000000000000 0fd:00004 squid
> 00000000009fe000 148 rw--- 00000000003fe000 0fd:00004 squid
> 0000000000a23000 1288 rw--- 0000000000000000 000:00000 [ anon ]
> 0000000000c22000 444 rw--- 0000000000422000 0fd:00004 squid
> 000000000163f000 2403608 rw--- 0000000000000000 000:00000 [ anon ]
>
>
> When I then run "cat /proc/28076/smaps" I see that the heap size of
> squid is growing:
>
> 0163f000-94185000 rw-p 00000000 00:00 0
> [heap]
> Size: 2403608 kB
> Rss: 2402648 kB
> Pss: 2402648 kB
> Shared_Clean: 0 kB
> Shared_Dirty: 0 kB
> Private_Clean: 0 kB
> Private_Dirty: 2402648 kB
> Referenced: 2229704 kB
> Anonymous: 2402648 kB
> AnonHugePages: 403456 kB
> Swap: 0 kB
> KernelPageSize: 4 kB
> MMUPageSize: 4 kB
>
>
> What can cause this problem which only occures using kerberos
> authentication?
>
> Klaus
>
>
>
>>
>> Hi Klaus,
>>
>> If I did not make an error it is the following line:
>>
>> service_principal = xstrdup(optarg);
>>
>> and it is not part of a loop and should not create a leak. It gets
>> freed
>> when the helper exits.
>>
>> Markus
>>
>> "Klaus Walter" <klaus.walter_at_spb.de> wrote in message
>> news:1c3bf830b7785fbff9f25e2486d5a902_at_myway.de...
>> > Hi Markus,
>> >
>> > here the output of valgrind with source code lines form the
>> > negotiate_kerberos_auth
>> > helper that comes with squid 3.2.1:
>> >
>> > ==6124== 14 bytes in 1 blocks are definitely lost in loss record 1
>> of 1
>> > ==6124== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
>> > ==6124== by 0x403384: xmalloc (xalloc.cc:116)
>> > ==6124== by 0x40359B: xstrdup (xstring.cc:27)
>> > ==6124== by 0x401ADE: main (negotiate_kerberos_auth.cc:251)
>> >
>> > I also tested the latest helper that comes with squid 3.3.8 with
>> valgrind:
>> >
>> > ==2745== 14 bytes in 1 blocks are definitely lost in loss record 1
>> of 1
>> > ==2745== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
>> > ==2745== by 0x403724: xmalloc (xalloc.cc:116)
>> > ==2745== by 0x40393B: xstrdup (xstring.cc:27)
>> > ==2745== by 0x401A8E: main (negotiate_kerberos_auth.cc:250)
>> >
>> > I hope this helps.
>> >
>> > By the way:
>> > Because of bug 3848 in squid 3.3.x I can't use this squid version
>> at the
>> > moment,
>> > but should I use the latest helper together with my squid 3.2.1?
>> >
>> > Klaus
>> >
>> >
>> >>
>> >> Hi Klaus,
>> >>
>> >> Thank you for the valgrind output. Could you compile and link the
>> >> helper
>> >> with -g to get the source code line.
>> >>
>> >> Thank you
>> >> Markus
>> >>
>> >
>> >
>
Received on Wed Aug 07 2013 - 20:22:29 MDT

This archive was generated by hypermail 2.2.0 : Thu Aug 08 2013 - 12:00:14 MDT