Thanks Laurent, that's great news. So it must be some rather specific usage that's causing this Mono/Snow Leopard issue to surface.
I don't have any System.Drawing or System.Windows.Forms dependencies with the current version I'm testing. I've removed those as soon as monobjc has stopped its own dependencies on those libraries. This also means that X11 is not involved in any way. Making some changes to my software also seemed to create the crash without any explicit threading involved (I think). Here are the logs (Mac OSX log + the monobjc tracing): Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libSystem.B.dylib 0x92794912 __kill + 10 1 libSystem.B.dylib 0x92794904 kill$UNIX2003 + 32 2 libSystem.B.dylib 0x92827b99 raise + 26 3 libSystem.B.dylib 0x9283dc50 abort + 93 4 DM 0x0001edc8 mono_handle_native_sigsegv + 215 (mini-exceptions.c:1598) 5 libSystem.B.dylib 0x92799b9b _sigtramp + 43 6 ??? 0xffffffff 0 + 4294967295 7 libSystem.B.dylib 0x92827b99 raise + 26 8 libSystem.B.dylib 0x9283dc50 abort + 93 9 DM 0x0012c944 GC_enable + 0 (misc.c:1080) 10 DM 0x00123f9e GC_push_all_stacks + 196 (darwin_stop_world.c:119) 11 DM 0x0012dc8b GC_default_push_other_roots + 11 (os_dep.c:2079) 12 DM 0x0012ba5a GC_push_roots + 279 (mark_rts.c:651) 13 DM 0x00128e11 GC_mark_some + 593 (mark.c:327) 14 DM 0x0012261c GC_stopped_mark + 525 (alloc.c:543) 15 DM 0x00122175 GC_try_to_collect_inner + 449 (alloc.c:382) 16 DM 0x001233a5 GC_collect_or_expand + 151 (alloc.c:1046) 17 DM 0x00123690 GC_allocobj + 313 (alloc.c:1125) 18 DM 0x001272bb GC_generic_malloc_inner + 270 (malloc.c:136) 19 DM 0x00126080 GC_gcj_malloc + 133 (gcj_mlc.c:157) 20 DM 0x000a9df1 mono_object_new_fast + 26 (object.c:3633) 21 ??? 0x00e56880 0 + 15034496 22 ??? 0x02f0cc8e 0 + 49335438 23 ??? 0x02f0cbf4 0 + 49335284 24 ??? 0x02f0cb5c 0 + 49335132 25 ??? 0x02f0c92f 0 + 49334575 26 ??? 0x03299c0c 0 + 53058572 27 ??? 0x03299b43 0 + 53058371 28 ??? 0x032999c9 0 + 53057993 29 ??? 0x16a62b3f 0 + 379988799 30 ??? 0x16a62a33 0 + 379988531 31 ??? 0x16a6078e 0 + 379979662 32 ??? 0x16a602a7 0 + 379978407 33 ??? 0x02f09cae 0 + 49323182 34 com.apple.CoreFoundation 0x96ef9da4 -[NSSet makeObjectsPerformSelector:] + 196 35 com.apple.AppKit 0x933de672 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1566 36 com.apple.AppKit 0x933dc64a loadNib + 257 37 com.apple.AppKit 0x933dba44 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 228 38 com.apple.AppKit 0x933db955 +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:] + 158 39 com.apple.AppKit 0x933db8a0 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 383 40 ??? 0x02f1268e 0 + 49358478 41 ??? 0x02f12622 0 + 49358370 42 ??? 0x02f123c7 0 + 49357767 43 ??? 0x02f121f1 0 + 49357297 44 ??? 0x02f12162 0 + 49357154 45 ??? 0x02f1185e 0 + 49354846 46 ??? 0x00e562bd 0 + 15033021 ------------ MONOBJC TRACE: thread_get_state failed Stacktrace: at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0x00004> at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0xffffffff> at System.Reflection.Emit.TypeBuilder.DefinePInvokeMethod (string,string,string,System.Reflection.MethodAttributes,System.Reflection.C allingConventions, System.Type,System.Type[],System.Type[],System.Type[],System.Type[][], System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runt ime.InteropServices.CharSet) <0x00085> at System.Reflection.Emit.TypeBuilder.DefinePInvokeMethod (string,string,string,System.Reflection.MethodAttributes, System.Reflection.CallingConventions,System.Type, System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtim e.InteropServices.CharSet) <0x00033> at Monobjc.Bridge.Generators.DynamicMessagingGenerator.DefineNativeCallMethod (System.Reflection.Emit.TypeBuilder,string,string,System.Type,System.Type[]) <0x000f3> at Monobjc.Bridge.Generators.DynamicMessagingGenerator.EmitCodeForBlittableType (System.Reflection.Emit.TypeBuilder,string,string,System.Type,System.Type[]) <0x0001e> at Monobjc.Bridge.Generators.DynamicMessagingGenerator.DefineMessagingDelegate (string,string,System.Type[]) <0x0003b> at Monobjc.Bridge.Generators.DynamicMessagingGenerator.SendMessage (string,intptr,intptr,object[]) <0x0010a> at Monobjc.ObjectiveCRuntime.SendMessage (Monobjc.IManagedWrapper,string,object[]) <0x00078> at Monobjc.Cocoa.NSButton.set_Image (Monobjc.Cocoa.NSImage) <0x00046> at DM.StockController.SetUploadStatusStates () <0x00052> at DM.StockController.AwakeFromNib () <0x004ad> at Monobjc.Dynamic.Proxies.DM.StockController.AwakeFromNib (intptr,intptr) <0x00036> at (wrapper native-to-managed) Monobjc.Dynamic.Proxies.DM.StockController.AwakeFromNib (intptr,intptr) <0xffffffff> at (wrapper managed-to-native) 364DB0EB.pinvoke (intptr,intptr,intptr,intptr) <0x00004> at (wrapper managed-to-native) 364DB0EB.pinvoke (intptr,intptr,intptr,intptr) <0xffffffff> at 364DB0EB.objc_msgSend (intptr,intptr,object[]) <0x000c9> at Monobjc.Bridge.Generators.DynamicMessagingGenerator.SendMessage<bool> (string,intptr,intptr,object[]) <0x00166> at Monobjc.ObjectiveCRuntime.SendMessage<bool> (Monobjc.IManagedWrapper,string,object[]) <0x00078> at Monobjc.Cocoa.NSBundle.LoadNibNamedOwner (Monobjc.Cocoa.NSString,Monobjc.Id) <0x00061> at Monobjc.Cocoa.NSApplication.LoadNib (string) <0x00055> at DM.Program.Main (string[]) <0x0003c> Abort trap -----Original Message----- From: laurent.etiem...@gmail.com [mailto:laurent.etiem...@gmail.com] On Behalf Of Laurent Etiemble Sent: maandag 14 september 2009 22:42 To: users@lists.monobjc.net Subject: Re: [us...@lists.monobjc.net] Re: [us...@lists.monobjc.net] Feeback Wanted on Snow Leopard Hello, @Franky: Until now, I have tested the 27 samples applications on Core Duo and Core 2 Duo processors. On both platforms, the application runs as a 32 bits process, with no problems or crashes. @Everyone: Does the application that crashes uses System.Drawing or System.Windows.Forms ? Regards, Laurent Etiemble. 2009/9/14 Russell Joyce <r.a.jo...@btinternet.com>: > I'm getting the same "thread_get_state failed" error. It usually occurs if > I'm doing something which pauses the application (such as resizing the > windows or using menus) at the same time as an event fires (such as a > Windows.Forms.Timer tick) but sometimes just occurs (seemingly) randomly. > Monobjc events don't seem to cause this problem though when using > objective-c selectors (such as NSTimer fire events), but I may be wrong. > > I'm glad this isn't just a problem with my application and is something more > common, as I was not using Monobjc before Snow Leopard so I've always had > this problem. I've got Leopard installed on a different partition still > though so I can always develop there for now... >