[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.


--- 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