Hello. I didn't know that pastes from rafb.net are removed after 24 hours.
The new location of thread dump is here: http://www.sulechow.net/~mwaldows/ITS-5280/thread-dump.log and new location of JLDAP debug is here: http://www.sulechow.net/~mwaldows/ITS-5280/debug.log Regards Marcin [EMAIL PROTECTED] wrote: > Full_Name: Marcin Waldowski > Version: novell-jldap-devel-2007.10.12-1netware_windows > OS: Windows XP > URL: > Submission from: (NULL) (83.20.102.205) > > > Hello. > > Our application gets lots of information from LDAP server which uses > refferals. > Code which use jldap is executed in single thread. After some time of > obtaining > informations JLDAP hangs in MessageAgent.getLDAPMessage() as you can see at > following thread dump: > > http://rafb.net/p/kwhTyh67.html > > It is repeatable every time we execute our application. It hangs always in the > same line of JLDAP code. > > We turned on jldap debug (-Dldap.debug=TraceAll) and also sniffed > communication > between JLDAP and LDAP server using Wireshark. Interesting part of JLDAP debug > you can see here: > > http://rafb.net/p/diqKzz11.html > > As you can see some refferal connections is lost in lines 14, 35, 53. After > that > we have some writes to that connections in lines 240 (message 146), 283 > (message 147) and 333 (message 148). All this writes didn't come to the wire > (as > we can see in Wireshark or rather cannot see) because of "java.io.IOException: > Output stream not initialized". This exception is only logged to debug stream > and silently discarded in com.novell.ldap.Connection.writeMessage(LDAPMessage > msg) because variable clientActive is false. So, If I understand it correctly, > caller code doesn't know that anything goes wrong in called (write message) > code. As a result JLDAP still wait for responses of messages 146, 147, 148 > which > hasn't been sent. This ends up with forever wait in line 368 of debug stream. > > Regards > Marcin > > >
