[Mono-bugs] [Bug 82145][Maj] Changed - Sharing Connection Causes Random Crashing Using SSL

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Aug 10 14:54:31 EDT 2007


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by peter at peterkellner.net.

http://bugzilla.ximian.com/show_bug.cgi?id=82145

--- shadow/82145	2007-08-10 14:11:47.000000000 -0400
+++ shadow/82145.tmp.32000	2007-08-10 14:54:31.000000000 -0400
@@ -581,6 +581,116 @@
 
 ------- Additional Comments From peter at peterkellner.net  2007-08-10 14:11 -------
 It's intermittent and I'm having trouble reproducing the error I got 
 earlier this morning.   I don't want to bring in your ldap dll until 
 I can reproduce the error with the mono one. I've run it about 10x 
 now with no errors.  I'll keep you posted.
+
+------- Additional Comments From peter at peterkellner.net  2007-08-10 14:54 -------
+Sabastien,
+I've got a slightly more complicated console application that 
+demonstrates the problem more consistently with both the ldap and 
+security dll you posted early.  It uses an extra class to wrap the 
+connection object for recovery on failure, however in the test here, 
+the connection should never fail so that code is not excercised.  
+I'm going to attach the zip file of that project here next.  The 
+error I get is below.  I'm hoping the error is not in my logic, but 
+threading can always have sneaky ways of causing problems.  I'm 
+heading out for a few hours now.  The project I'm attaching is more 
+the typical way we use the code.  I also get immediate errors if I 
+toggle the app not to use a static connection but to connect and 
+disconnect on every request.  Again, hoping it's not my logic 
+problem but I have spent a fair amount of time looking at this 
+code.  (bool useStaticConnection = false;)
+
+ 
+ at Mono.Security.Protocol.Tls.SslStreamBase.Read(Byte[] buffer, 
+Int32 offset,
+ Int32 count)
+   --- End of inner exception stack trace ---
+   at Mono.Security.Protocol.Tls.SslStreamBase.Read(Byte[] buffer, 
+Int32 offset,
+ Int32 count)
+   at System.IO.Stream.ReadByte()
+   at Novell.Directory.Ldap.Asn1.Asn1Identifier..ctor(Stream 
+in_Renamed)
+   at Novell.Directory.Ldap.Connection.ReaderThread.Run()
+   at LdapThreadTesterConsole.MembershipSimulation.GetUser() in 
+E:\LdapTest\Ldap
+SafeConnection\Program.cs:line 246
+   at LdapThreadTesterConsole.Program.DoLdapLapsGannettSamples() in 
+E:\LdapTest\
+LdapSafeConnection\Program.cs:line 143
+   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
+   at System.Threading.ExecutionContext.Run(ExecutionContext 
+executionContext, C
+ontextCallback callback, Object state)
+   at System.Threading.ThreadHelper.ThreadStart()
+
+
+
+System.ApplicationException: LdapException: (91) Connect Error
+System.IO.IOException: The authentication or decryption has failed. -
+--> Mono.Se
+curity.Protocol.Tls.TlsException: The authentication or decryption 
+has failed.
+   at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord
+(IAsyncResult as
+yncResult)
+   at Mono.Security.Protocol.Tls.SslStreamBase.Read(Byte[] buffer, 
+Int32 offset,
+ Int32 count)
+   --- End of inner exception stack trace ---
+   at Mono.Security.Protocol.Tls.SslStreamBase.Read(Byte[] buffer, 
+Int32 offset,
+ Int32 count)
+   at System.IO.Stream.ReadByte()
+   at Novell.Directory.Ldap.Asn1.Asn1Identifier..ctor(Stream 
+in_Renamed)
+   at Novell.Directory.Ldap.Connection.ReaderThread.Run()
+   at LdapThreadTesterConsole.MembershipSimulation.GetUser() in 
+E:\LdapTest\Ldap
+SafeConnection\Program.cs:line 246
+   at LdapThreadTesterConsole.Program.DoLdapLapsGannettSamples() in 
+E:\LdapTest\
+LdapSafeConnection\Program.cs:line 143
+   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
+   at System.Threading.ExecutionContext.Run(ExecutionContext 
+executionContext, C
+ontextCallback callback, Object state)
+   at System.Threading.ThreadHelper.ThreadStart()
+System.ApplicationException: LdapException: (91) Connect Error
+System.IO.IOException: The authentication or decryption has failed. -
+--> Mono.Se
+curity.Protocol.Tls.TlsException: The authentication or decryption 
+has failed.
+   at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord
+(IAsyncResult as
+yncResult)
+   at Mono.Security.Protocol.Tls.SslStreamBase.Read(Byte[] buffer, 
+Int32 offset,
+ Int32 count)
+   --- End of inner exception stack trace ---
+   at Mono.Security.Protocol.Tls.SslStreamBase.Read(Byte[] buffer, 
+Int32 offset,
+ Int32 count)
+   at System.IO.Stream.ReadByte()
+   at Novell.Directory.Ldap.Asn1.Asn1Identifier..ctor(Stream 
+in_Renamed)
+   at Novell.Directory.Ldap.Connection.ReaderThread.Run()
+   at LdapThreadTesterConsole.MembershipSimulation.GetUser() in 
+E:\LdapTest\Ldap
+SafeConnection\Program.cs:line 246
+   at LdapThreadTesterConsole.Program.DoLdapLapsGannettSamples() in 
+E:\LdapTest\
+LdapSafeConnection\Program.cs:line 143
+   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
+   at System.Threading.ExecutionContext.Run(ExecutionContext 
+executionContext, C
+ontextCallback callback, Object state)
+   at System.Threading.ThreadHelper.ThreadStart()
+
+
+
+
+
+


More information about the mono-bugs mailing list