I have an application that must load a very large SOAP proxy with hundreds of classes. Under boehm GC, I'm able to load the application, but when running under sgen my application crashes immediately with a SIGABRT. I'm able to get a stack trace under sgen to this effect:
* Assertion: should not be reached at sgen-scan-object.h:111 Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) System.MonoCustomAttrs.GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool) <IL 0x0000f, 0xffffffff> at System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider,System.Type,bool) [0x00019] in /home/abuild/rpmbuild/BUILD/mono-3.2.1/mcs/class/corlib/System/MonoCustomAttrs.cs:101 at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider,bool) [0x00017] in /home/abuild/rpmbuild/BUILD/mono-3.2.1/mcs/class/corlib/System/MonoCustomAttrs.cs:274 at System.MonoType.GetCustomAttributes (bool) [0x00000] in /home/abuild/rpmbuild/BUILD/mono-3.2.1/mcs/class/corlib/System/MonoType.cs:573 at System.Xml.Serialization.XmlAttributes..ctor (System.Reflection.ICustomAttributeProvider) [0x00032] in /home/abuild/rpmbuild/BUILD/mono-3.2.1/mcs/class/System.XML/System.Xml.Serialization/XmlAttributes.cs:64 …more of stack trace is available if you want. The cause seems to be that the sgen GC is having to do too much collection while processing the large type library. Trying these options: export MONO_GC_PARAMS="major=marksweep-conc,minor=split,alloc-ratio=100,nursery-size=128m,max-heap-size=2048m,evacuation-threshold=0" seems like it would make the nursery much larger so it can handle the large type library. However, doing so leads me to this error: Assertion at sgen-nursery-allocator.c:293, condition `fragment->fragment_end > fragment->fragment_start' not met I'm stuck at this point. Any suggestions? _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
