[389-users] slapd didn't close connection and get into CLOSE_WAIT state

Rich Megginson rmeggins at redhat.com
Fri Feb 19 01:14:35 UTC 2010


Chun Tat David Chu wrote:
> Hi All,
>
> I am running 389 DS version 1.2.5, build number 2010.012.2034 on RHEL 5.2.
>
> I have a problem that slapd didn't close a connection and eventually 
> get into a CLOSE_WAIT state after my JAVA application exit.
>
> The scenario only happen when my application registers a 
> NamingListener via the JAVA JNDI (Java Naming Directory Interface).  I 
> believe the NamingListener is equivalent to the Persistent Search.  
> This problem doesn't exist if I don't use the JNDI NamingListener 
> capability.
>
> From my understanding, I did everything correctly in my application.  
> I create a context, add a listener, do some stuffs, remove the 
> listener and then close the context.
>
> One thing I notice is that in the slapd's error log, I see the 
> following...
> "-get_ldapmessage_controls failed: 12 (Unavailable critical extension) 
> (op=Abandon)".
> This message prints out right after I remove the listener and before 
> my application closes the context.
>
> The closest bug report I found is this and it said the problem has 
> been resolved.
> https://bugzilla.redhat.com/show_bug.cgi?id=450575
>
> At this point, I'm clueless.  :-(
> Can someone help me or give me some recommendation that I could try?
It looks as though the app is sending an LDAP Abandon request with 
controls that are marked as critical, and the server does not support 
them.  This is standard LDAPv3 behavior.  I'm not sure why it is using 
Abandon, perhaps to Abandon any outstanding search or other requests 
that have not completed.  Some things to check:
* see if you can specify that no controls are to be sent with the 
Abandon request
* if you wait for all of the operations and results to be read by your 
app, JNDI might notice this and just do an Unbind instead of an Abandon.
>
> I will attach my JAVA JNDI replicator along with this e-mail.  You 
> will need to modify 2-3 lines of code to get it running in your 
> environment.  Search for "MODIFY ME" and that should be the lines that 
> you need to modify.
>
> Thanks!
>
> David
>
>
> ------------------------------------------------------------------------
>
> --
> 389 users mailing list
> 389-users at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/389-users




More information about the 389-users mailing list