[Mono-bugs] [Bug 80008][Nor] New - SoapFormatter consumes all memory
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Wed Nov 22 22:46:43 EST 2006
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by csaba.halasz at gmail.com.
http://bugzilla.ximian.com/show_bug.cgi?id=80008
--- shadow/80008 2006-11-22 22:46:43.000000000 -0500
+++ shadow/80008.tmp.20927 2006-11-22 22:46:43.000000000 -0500
@@ -0,0 +1,50 @@
+Bug#: 80008
+Product: Mono: Class Libraries
+Version: 1.2
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: CORLIB
+AssignedTo: mono-bugs at ximian.com
+ReportedBy: Csaba.Halasz at gmail.com
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: SoapFormatter consumes all memory
+
+Description of Problem:
+SoapFormatter consumes memory.
+
+Steps to reproduce the problem:
+Use SoapFormatter to serialize an array containing structs with private
+members, Guids for example. (this will make the bug occur faster)
+
+Actual Results:
+Steady growth in memory consumption until all memory is used up.
+
+Expected Results:
+More-or-less constant memory usage (within normal fluctuations due to GC)
+
+How often does this happen?
+Always.
+
+Additional Information:
+System.Runtime.Remoting.InternalRemotingServices has a "cache" for soap
+attributes. Unfortunately it is *not* a real cache, but rather a history
+buffer that keeps both the keys and the objects alive indefinitely and
+grows out of bounds (it merrily consumed the memory of our server, all 8GB
+of it :))
+
+The problem is further amplified by the code in
+System.Runtime.Serialization.FormatterServices:GetFields where the fields
+are cloned. Therefore - as far as I can see - there will never be a cache hit.
+
+Thus it seems to be safe to disable the cache as a temporary fix without
+any performance issues. Works for me (TM) :D
+
+I have checked: 1.1.16 and 1.2.1 on x86-64 compiled with LARGE_CONFIG GC;
+1.1.17 on i386 with standard GC
More information about the mono-bugs
mailing list