[Mono-bugs] [Bug 55749][Maj] Changed - Another deadlock when running static constructors

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 18 Mar 2004 16:53:34 -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 vargaz@freemail.hu.

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

--- shadow/55749	2004-03-18 06:49:14.000000000 -0500
+++ shadow/55749.tmp.30261	2004-03-18 16:53:34.000000000 -0500
@@ -2,13 +2,13 @@
 Product: Mono: Runtime
 Version: unspecified
 OS: Red Hat 9.0
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Major
 Component: misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: lluis@ximian.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -71,6 +71,14 @@
 		
 		public static void Doit ()
 		{
 		}
 	}
 }
+
+------- Additional Comments From vargaz@freemail.hu  2004-03-18 16:53 -------
+This is caused by a deadlock between the domain lock taken in
+mono_runtime_class_init, and a managed lock. The solution would be
+to use the initialization protocol described in Partition II., 9.5.3.3,
+but that requires things like 'see whenever this thread or any
+thread waiting for this thread already holds the lock', which is a bit
+hard to implement.