[Mono-list] sgen error when using large SOAP proxy

David Curylo curylod at asme.org
Thu Sep 26 18:07:58 UTC 2013

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


  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?

More information about the Mono-list mailing list