[Mono-osx] Mono runtime crash, probably in com.apple.security Security::cfArrayize

Geoff Norton gnorton at novell.com
Thu May 6 16:13:53 EDT 2010


Could you send us a small test case which consistently shows this issue?

Thank you

Geoff

On 2010-05-06, at 4:07 PM, Jacob Page wrote:

> I found a related stack trace logged in the system console.  Maybe this
> would also help track down the bug.
> 
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	Stacktrace:
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at (wrapper
> managed-to-native)
> Mono.Security.X509.OSX509Certificates.SecTrustCreateWithCertificates
> (intptr,intptr,intptr&) <0x00004>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at (wrapper
> managed-to-native)
> Mono.Security.X509.OSX509Certificates.SecTrustCreateWithCertificates
> (intptr,intptr,intptr&) <0x00004>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.X509.OSX509Certificates._TrustEvaluateSsl
> (Mono.Security.X509.X509CertificateCollection) <0x001b6>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.X509.OSX509Certificates.TrustEvaluateSsl
> (Mono.Security.X509.X509CertificateCollection) <0x00017>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> System.Net.ServicePointManager/ChainValidationHelper.ValidateChain
> (Mono.Security.X509.X509CertificateCollection) <0x0035e>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.Protocol.Tls.SslClientStream.OnRemoteCertificateValidation
> 2 (Mono.Security.X509.X509CertificateCollection) <0x0001f>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.Protocol.Tls.SslStreamBase.RaiseRemoteCertificateValidatio
> n2 (Mono.Security.X509.X509CertificateCollection) <0x0001c>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.Protocol.Tls.SslClientStream.RaiseServerCertificateValidat
> ion2 (Mono.Security.X509.X509CertificateCollection) <0x00013>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validat
> eCertificates (Mono.Security.X509.X509CertificateCollection) <0x000b3>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.Process
> AsTls1 () <0x000bf>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process ()
> <0x0004d>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at (wrapper
> remoting-invoke-with-check)
> Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process ()
> <0x00053>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage
> (Mono.Security.Protocol.Tls.TlsStream) <0x00087>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback
> (System.IAsyncResult) <0x0024e>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> System.Net.Sockets.Socket/SocketAsyncResult.Complete () <0x001c5>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at
> System.Net.Sockets.Socket/Worker.Receive () <0x00016>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]	  at (wrapper
> runtime-invoke) object.runtime_invoke_void__this__
> (object,intptr,intptr,intptr) <0x00040>
> 5/6/10 12:39:28 PM	[0x0-0x238238].OurApp[5537]
> /Applications/Fender
> FUSE.app/Contents/Resources/OurApp.app/Contents/MacOS/OurApp: line 43:
> 5550 Abort trap              "./bin/$APP_NAME" "$ASSEMBLY"
> 5/6/10 12:39:28 PM	com.apple.launchd.peruser.1065390232[114]
> ([0x0-0x238238].OurApp[5537]) Exited with exit code: 134
> 
> -----Original Message-----
> From: Jacob Page 
> Sent: Thursday, May 06, 2010 12:58 PM
> To: mono-osx at lists.ximian.com
> Cc: Christopher Teague
> Subject: Mono runtime crash, probably in com.apple.security
> Security::cfArrayize
> 
> We're trying to track down an issue wherein our OS X application crashes
> after coming back from sleep mode.  In looking through the latest crash
> dump, it appears that this may be due to a bug in Mono's TLS certificate
> code.  Our application is doing an HTTPS web request once recovering
> from being idle due to sleep mode.
> 
> Here's the beginning of the crash dump:
> 
> * * * *
> 
> Process:         mono [5550]
> Path:
> /Library/Frameworks/Mono.framework/Versions/2.6.4/bin/mono
> Identifier:      mono
> Version:         ??? (???)
> Code Type:       X86 (Native)
> Parent Process:  sh [5537]
> 
> Date/Time:       2010-05-06 12:39:28.315 -0700
> OS Version:      Mac OS X 10.6.3 (10D573)
> Report Version:  6
> 
> Exception Type:  EXC_CRASH (SIGABRT)
> Exception Codes: 0x0000000000000000, 0x0000000000000000
> Crashed Thread:  17
> 
> Application Specific Information:
> abort() called
> 
> * * * *
> 
> And here's the stack trace for thread 17:
> 
> * * * *
> 
> Thread 17 Crashed:
> 0   libSystem.B.dylib             	0x903a84be
> __semwait_signal_nocancel + 10
> 1   libSystem.B.dylib             	0x903a83a2
> nanosleep$NOCANCEL$UNIX2003 + 166
> 2   libSystem.B.dylib             	0x904232f2
> usleep$NOCANCEL$UNIX2003 + 61
> 3   libSystem.B.dylib             	0x904449a8 abort + 105
> 4   <Our app>                    	0x00023a66
> mono_handle_native_sigsegv + 324 (mini-exceptions.c:1857)
> 5   <Our app>                    	0x001b8c70
> mono_sigsegv_signal_handler + 305 (mini.c:4848)
> 6   libSystem.B.dylib             	0x903a142b _sigtramp + 43
> 7   ???                           	0xffffffff 0 + 4294967295
> 8   com.apple.security            	0x95b7a94f
> Security::cfArrayize(void const*) + 35
> 9   com.apple.security            	0x95b7a784
> Security::KeychainCore::Trust::Trust(void const*, void const*) + 144
> 10  com.apple.security            	0x95b7a601
> SecTrustCreateWithCertificates + 98
> 11  ???                           	0x03eadff6 0 + 65724406
> 12  ???                           	0x03eadc1f 0 + 65723423
> 13  ???                           	0x03ead9a0 0 + 65722784
> 14  ???                           	0x03e87bbf 0 + 65567679
> 15  ???                           	0x03e87850 0 + 65566800
> 16  ???                           	0x03e87825 0 + 65566757
> 17  ???                           	0x03e877f4 0 + 65566708
> 18  ???                           	0x03e87114 0 + 65564948
> 19  ???                           	0x03e7f108 0 + 65532168
> 20  ???                           	0x03e303ee 0 + 65209326
> 21  ???                           	0x03e3036c 0 + 65209196
> 22  ???                           	0x03e7d550 0 + 65525072
> 23  ???                           	0x03e7c23f 0 + 65520191
> 24  ???                           	0x03e7a866 0 + 65513574
> 25  ???                           	0x03e7bfe7 0 + 65519591
> 26  ???                           	0x00c96389 0 + 13198217
> 27  <Our app>                    	0x001b8a3d
> mono_jit_runtime_invoke + 1306 (mini.c:4731)
> 28  <Our app>                    	0x00114d80 mono_runtime_invoke +
> 137 (object.c:2613)
> 29  <Our app>                    	0x00116fa4
> mono_runtime_invoke_array + 1737 (object.c:3783)
> 30  <Our app>                    	0x00119cf8 mono_message_invoke +
> 488 (object.c:5412)
> 31  <Our app>                    	0x0014a1a6 mono_async_invoke +
> 164 (threadpool.c:1015)
> 32  <Our app>                    	0x00148c83
> async_invoke_io_thread + 535 (threadpool.c:327)
> 33  <Our app>                    	0x0014d4c8 start_wrapper + 591
> (threads.c:666)
> 34  <Our app>                    	0x0018d8ba thread_start_routine
> + 201 (wthreads.c:286)
> 35  <Our app>                    	0x001aafc8 GC_start_routine +
> 106 (pthread_support.c:1390)
> 36  libSystem.B.dylib             	0x90368a19 _pthread_start + 345
> 37  libSystem.B.dylib             	0x9036889e thread_start + 34
> 
> * * * *
> 
> Let me know if you need any additional information.  If you know the
> cause of this crash, do you know of any workaround we can apply in the
> short term?
> 
> _______________________________________________
> Mono-osx mailing list
> Mono-osx at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-osx



More information about the Mono-osx mailing list