[Mono-bugs] [Bug 71634][Wis] New - remoting code leaks objects

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sun, 23 Jan 2005 11:22:14 -0500 (EST)


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 lupus@ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=71634

--- shadow/71634	2005-01-23 11:22:14.000000000 -0500
+++ shadow/71634.tmp.1021	2005-01-23 11:22:14.000000000 -0500
@@ -0,0 +1,39 @@
+Bug#: 71634
+Product: Mono: Class Libraries
+Version: 1.1
+OS: All
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: CORLIB
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: lupus@ximian.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: remoting code leaks objects
+
+Some objects are leaked across domains in the remoting code.
+This results in errors like:
+Unhandled Exception:
+System.InvalidCastException: Cannot cast from source type to destination type.
+
+Server stack trace: 
+in [0x002e9] (at
+/opt/lupus/svn/mcs/class/corlib/System.Runtime.Remoting.Messaging/CADMessages.cs:227)
+System.Runtime.Remoting.Messaging.CADMessageBase:UnmarshalArgument
+(object,System.Collections.ArrayList)
+
+in the case of strings when an optimization is enabled.
+Since vtables are per-class and per-domain, when performing a cast of a
+sealed cast we can check just the vtable against a constant value. But the
+remoting code uses a cast on objects from different appdomains.
+The optimization can be enabled in mini/inssel.brg by enabling the code
+marked as /* the remoting code is broken, access the class for now */.
+Priority set to whishlist because once we share the code in corlib, the
+code might work as is, since the vtables will be the same in all the
+appdomains at least for the types in corlib that UnmarshalArgument() seems
+to handle.