[Mono-bugs] [Bug 542068] New: Using Mono2.4 Add-On, Process Dies because of Uncatchable exception during Ldap Connect in MultiThreaded environment

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Sep 25 02:54:48 EDT 2009


http://bugzilla.novell.com/show_bug.cgi?id=542068


           Summary: Using Mono2.4 Add-On, Process Dies because of
                    Uncatchable exception during Ldap Connect in
                    MultiThreaded environment
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x AddOn CD
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: kuanil at novell.com
         QAContact: mono-bugs at lists.ximian.com
                CC: amahabaleshwar at novell.com
          Found By: Third Party Developer/Partner


We have simulated the scenario where multiple clients try to ldap authenticate
at once and iFolder server creates a separate thread for each ldap
authentication. When load is more, then ldap throws the exception which could
not be caught by the try-catch blocks (or even the origin of exception is not
known) and ultimately whole process dies. This results in iFolder server dying
itself. 

I have attached the snippet of exceptions. There are 2 types, one shows that
there is "Connect Error: " and then unhandled exception comes and another is
without the connect error. 
---------------------------------------------------------------------------------------------------------
Snippet of the exception
...................
...................
...................
Verifying Password !!!
Verifying Password !!!
Connect Passed for :cn=test8,o=novell
Disconnecting the connection ..............
Connect Passed for :cn=test16,o=novell
Disconnecting the connection ..............
Connect Passed for :cn=test5,o=novell
Disconnecting the connection ..............
Verifying Password !!!
Error for User: cn=test7,o=novell
LdapExceptionError: Connect Error
Disconnecting the connection ..............
Verifying Password !!!
Connect Passed for :cn=test2,o=novell
Disconnecting the connection ..............
Connect Passed for :cn=test11,o=novell
Connect Passed for :cn=test19,o=novell
Disconnecting the connection ..............
Connect Passed for :cn=test20,o=novell
Disconnecting the connection ..............
Disconnecting the connection ..............

Unhandled Exception: System.Net.Sockets.SocketException: The socket is not
connected
  at System.Net.Sockets.Socket.Shutdown (SocketShutdown how) [0x00000]
  at Novell.Directory.Ldap.Connection.shutdown (System.String reason, Int32
semaphoreId, Novell.Directory.Ldap.InterThreadException notifyUser) [0x00000]
  at Novell.Directory.Ldap.Connection+ReaderThread.Run () [0x00000]

------------------------------------
another snippet:

Connect Passed for :cn=test7,o=novell
Disconnecting the connection ..............
Connect Passed for :cn=test16,o=novell
Disconnecting the connection ..............
Verifying Password !!!
Connect Passed for :cn=test17,o=novell
Disconnecting the connection ..............
Disconnect Exception
Verifying Password !!!
Verifying Password !!!
Verifying Password !!!
Verifying Password !!!
Verifying Password !!!
Verifying Password !!!
Verifying Password !!!
Error for User: cn=test14,o=novell
LdapExceptionError: Connect Error
Disconnecting the connection ..............

Unhandled Exception: System.Net.Sockets.SocketException: The socket is not
connected
  at System.Net.Sockets.Socket.Shutdown (SocketShutdown how) [0x00000]
  at Novell.Directory.Ldap.Connection.shutdown (System.String reason, Int32
semaphoreId, Novell.Directory.Ldap.InterThreadException notifyUser) [0x00000]
  at Novell.Directory.Ldap.Connection+ReaderThread.Run () [0x00000]

---------------------------------------------------------------------------------------------------------------------
I am not worried about the "Disconnect Exception" above as it is known and LDAP
team is already working on that. This socket exception is the new one which
could not be handled by any try-catch block.

In Next comment, i would attach the sample testcases and how to reproduce this
easily.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list