Search squid archive

Re: negotiate_kerberos_auth helpers stay busy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxx> wrote in message
 news:1c3bf830b7785fbff9f25e2486d5a902@xxxxxxxx...
 > 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
 >>
 >
 >




[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux