Hi, Here's a little more information. Looking at the stacktrace, I noticed that this problem always happens when trying to serialize a big List<> into a MemoryStream. My guess is that because the memory stream needs to be expanded many times in the process, il leads to memory fragmentation. What is weird though, is that I don't have the same behavior if I run the same application with mono on Windows. On windows, I am able to get further, but I eventually get an out of memory error, which is weird because if I run the application with .NET, the allocated memory never goes beyond 150 megs. Any idea what could explain the difference in behavior between the 2 OS? I'd also like to know if mono uses a large object heap like .NET for objects larger than a certain number of bytes (85000 bytes in .NET) and what is that number of bytes. Here is the actual error I get on Linux, in case it could help : Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS Stacktrace: at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_object_new_fast (intptr) <0x00004> at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_object_new_fast (intptr) <0xffffffff> at System.Array.GetEnumerator () <0x0000d> at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteSingleDimen sionArrayElements (System.IO.BinaryWriter,System.Array,System.Type) <0x00020> at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectArray (System.IO.BinaryWriter,long,System.Array) <0x0003f> at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteArray (System.IO.BinaryWriter,long,System.Array) <0x00046> at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectInsta nce (System.IO.BinaryWriter,object,bool) <0x00143> at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteQueuedObjec ts (System.IO.BinaryWriter) <0x0002d> at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectGraph (System.IO.BinaryWriter,object,System.Runtime.Remoting.Messaging.Header[]) <0x0003a> at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream,object,System.Runtime.Remoting.Messaging.Header[]) <0x0020c> at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream,object) <0x00015> at MyCompany.MyClass.Serialize (System.IO.MemoryStream&,object,bool) <0x00068> at MyCompany.MyClass.ExecuteRequest (System.Guid,MyCompany.MyClass.MyEnum,System.Guid,object[]) <0x00153> at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void_Guid_MyEnum_Guid_object[] (System.Guid,MyCompany.MyClass.MyEnum,System.Guid,object[]) <0xffffffff> at (wrapper runtime-invoke) ExecuteRequestDelegate.runtime_invoke_void_Guid_MyEnum_Guid_object[] (object,intptr,intptr,intptr) <0xffffffff> Thanks, Jonathan
_____ De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Jonathan Gagnon Envoyé : Wednesday, May 09, 2007 1:26 PM À : Mono-list@lists.ximian.com Objet : [Mono-list] Too many heap sections: Increase MAXHINCR orMAX_HEAP_SECTS Hi, I have an application that runs fine with .NET, but when I run it with mono, I get the following error : Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS What could be the source of this problem and how can I increase those values (MAXHINCR or MAX_HEAP_SECTS)? I'm using mono 1.2.3.1. Thanks, Jonathan
_______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list