[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