[Date Prev][Date Next]
Re: (ITS#5280) JLDAP waits for response for request which hasn't been sent because of connection shutdown
I didn't know that pastes from rafb.net are removed after 24 hours.
The new location of thread dump is here:
and new location of JLDAP debug is here:
> Full_Name: Marcin Waldowski
> Version: novell-jldap-devel-2007.10.12-1netware_windows
> OS: Windows XP
> Submission from: (NULL) (220.127.116.11)
> 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:
> 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:
> 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.