too many connections / dropping tcp fd in 1.9.1

Paul B. Henson henson at acm.org
Mon Oct 17 21:22:35 EDT 2011


Hmm, guess I should have google'd a *little* bit more before posting :).

I found:

	http://old.nabble.com/-krbdev.mit.edu--6949--TCP-connection-leak-with-1.9.1,-with-connect_to_server%28%29-p32342798.html

and it looks like this is already fixed in dev:

	http://krbdev.mit.edu/rt/Ticket/Display.html?id=6949

Is there an ETA for a new version release with this fix? I guess I'll
just apply it locally for now...


On Mon, Oct 17, 2011 at 06:16:27PM -0700, Paul B. Henson wrote:
> We recently upgraded our kerberos deployment from 1.8.4 to 1.9.1 (we run
> Gentoo linux). Since then, we've noticed messages like
> 
> Oct 15 18:10:11 halfy kadmind[25046]: too many connections
> Oct 15 18:10:11 halfy kadmind[25046]: dropping tcp fd 36 from 134.71.247.23.46955
> 
> popping up in the logs. Looking into it, I think I've tracked this down
> to a connection leak in a mod_perl based web service used in our
> identity management infrastructure. We use the modules Authen::Krb5 and
> Authen::Krb5::Admin to manage our kerberos principals. Each apache process
> should have only one connection open to kadmin at a time, but at this
> point they seem to built up multiple connections per process over time:
> 
> apache2   18313 apache   23u  IPv4 6687820      0t0  TCP
> derp.unx.csupomona.edu:43357->halfy.unx.csupomona.edu:kerberos-adm
> (ESTABLISHED)
> apache2   18313 apache   24u  IPv4 6854962      0t0  TCP
> derp.unx.csupomona.edu:45101->halfy.unx.csupomona.edu:kerberos-adm
> (ESTABLISHED)
> apache2   18313 apache   25u  IPv4 6793863      0t0  TCP
> derp.unx.csupomona.edu:47373->halfy.unx.csupomona.edu:kerberos-adm
> (ESTABLISHED)
> apache2   18313 apache   26u  IPv4 6963881      0t0  TCP
> derp.unx.csupomona.edu:39611->halfy.unx.csupomona.edu:kerberos-adm
> (ESTABLISHED)
> apache2   18313 apache   28u  IPv4 7034009      0t0  TCP
> derp.unx.csupomona.edu:50685->halfy.unx.csupomona.edu:kerberos-adm
> (ESTABLISHED)
> 
> I reinstalled 1.8.4 on a test box, and verified that code like:
> 
>   while (1) {
>     $kadm5 = Authen::Krb5::Admin->init_with_password($user, $password);
>   }
> 
> under 1.8.4 closes the TCP connection each time a new connection is
> made, but under 1.9.1, the exact same code leaks a connection every
> time.
> 
> It looks like under the hood, Authen::Krb5::Admin is just calling
> kadm5_destroy in the object destructor. Can anybody think of a reason
> that under 1.9.1 this is not releasing the connection? Does
> Authen::Krb5::Admin need an update to be compatible with kerberos 1.9.1?
> 
> Any help much appreciated, thanks...

-- 
Paul B. Henson  |  (909) 979-6361  |  http://www.csupomona.edu/~henson/
Operating Systems and Network Analyst  |  henson at csupomona.edu
California State Polytechnic University  |  Pomona CA 91768



More information about the Kerberos mailing list