[Mono-bugs] [Bug 79074][Wis] Changed - Mono places remoting calls for System.Object method

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Tue Aug 15 07:22:59 EDT 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 robertj at gmx.net.

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

--- shadow/79074	2006-08-14 21:26:18.000000000 -0400
+++ shadow/79074.tmp.28524	2006-08-15 07:22:59.000000000 -0400
@@ -129,6 +129,29 @@
 and a call to a user defined MyEquals with the same signature.
 
 It seems that MS.NET is still routing the call through a RealProxy
 but then it handles the call locally (like Mono does with GetHashCode
 in corlib/System.Runtime.Remoting.Proxies/RemotingProxy.cs).
 
+
+------- Additional Comments From robertj at gmx.net  2006-08-15 07:22 -------
+I ran even more tests on MS.NET 2.0, now using a *TCP channel*:
+
+Equals () always gets remotely forwarded regardless of its
+overridden state. Moreover, it's slower than a method
+with the same signature which simply wrapps Equals ().
+That's really strange, because I expected exactly the
+opposite.
+
+The identity relation "obj.Equals (obj)" is always "false"
+if the call is routed over a remoting channel, maybe
+because the proxies are compared instead of the object's
+identities. This matches Mono's implementation.
+
+If I patch Mono to not route Object.Equals, it permforms
+some magnitudes better than MS.NET 2.0, while computing
+obj.Equals (obj) correctly.
+
+
+Lluis, how should we deal with this stuff? Implement
+it as specified by the docs?
+


More information about the mono-bugs mailing list