[Mono-bugs] [Bug 77596][Nor] Changed - get rid of global generics caches in metadata.c
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Fri Jul 20 10:40:31 EDT 2007
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 rharinath at novell.com.
http://bugzilla.ximian.com/show_bug.cgi?id=77596
--- shadow/77596 2007-07-20 10:26:56.000000000 -0400
+++ shadow/77596.tmp.2741 2007-07-20 10:40:30.000000000 -0400
@@ -255,6 +255,24 @@
}
No matter what (before the patch), on shutdown image A or B will be
unloaded before the other leading to a type from one image referencing
a type from a freed mempool.
+
+------- Additional Comments From rharinath at novell.com 2007-07-20 10:40 -------
+Actually, this "fix" would operate when System.dll is removed, not
+when System.Xml.dll is removed. So, it doesn't matter where the check
+is :-)
+
+Also, in your case, the current code ensures that either type is
+removed when either of A or B is unloaded.
+
+The issue I'm worried about, and which makes this fix incomplete, is:
+
+A.dll: class Foo<T>
+B.dll: [A]Foo<int>
+C.dll: [A]Foo<int>
+
+and suppose you unload 'B.dll', and unluckily enough, the cache
+contains the type allocated in B's image...
+
More information about the mono-bugs
mailing list