[Mono-bugs] [Bug 509049] Expression tree compiler crashes when running on different domain

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Jun 2 20:02:50 EDT 2009


http://bugzilla.novell.com/show_bug.cgi?id=509049

User vargaz at gmail.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=509049#c8





--- Comment #8 from Zoltan Varga <vargaz at gmail.com>  2009-06-02 18:02:49 MDT ---
Fixing this properly will be ugly. What happens is a method is invoked
dynamically
using MethodInfo.Invoke (). To implement this, the runtime constructs a 
runtime-invoke wrapper. These wrappers are shared to avoid creating too many of
them. They are shared based on signature, and if the method has generic
instances
as arguments, those instances become part of the signature. When a generic
instance is freed, we would need to scan all wrappers to determine whenever
they
reference this instance, and free those too. This would be very slow,
especially
since the wrappers are grouped on a per-image basis, so there is no central
hash
table we can check.

In this concrete case, the situation is easier, since instead of the signature,
the class where the wrapper is placed in is a generic instance. This could be
fixed easily, but the general problem is hard to fix.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list