[Mono-bugs] [Bug 75586][Maj] Changed - The web domain is locking up
in the loading of assemblies
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Tue Jul 19 15:18:53 EDT 2005
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 bmaurer at users.sf.net.
http://bugzilla.ximian.com/show_bug.cgi?id=75586
--- shadow/75586 2005-07-19 14:24:09.000000000 -0400
+++ shadow/75586.tmp.29270 2005-07-19 15:18:52.000000000 -0400
@@ -34,6 +34,68 @@
------- Additional Comments From smsmith at novell.com 2005-07-19 13:39 -------
Sorry, didn't specify the server. He is running an iFolder server.
Below are the details:
iFolder server build: 20050712
Mono Version: 1.1.7.7
+
+------- Additional Comments From bmaurer at users.sf.net 2005-07-19 15:18 -------
+The issue is between these two threads:
+
+#12 0x080f80a2 in EnterCriticalSection (section=0x81a4f64)
+ at critical-sections.c:151
+#13 0x080f80a2 in EnterCriticalSection (section=0x81a4f60)
+ at critical-sections.c:151
+#14 0x08096ed8 in mono_assembly_addref (assembly=0x4651c518) at
+assembly.c:383
+#15 0x080d19d9 in add_assemblies_to_domain (domain=0x81fc6c0, ass=0x224d,
+ ht=0x400beeae) at appdomain.c:542
+#16 0x080d1a89 in mono_domain_fire_assembly_load (assembly=0x4651c518,
+ user_data=0x0) at appdomain.c:576
+#17 0x0809754d in mono_assembly_invoke_load_hook (ass=0x4651c518)
+ at assembly.c:573
+#18 0x08097f9a in mono_assembly_load_from_full (image=0x4651b9e8,
+ fname=0xfffffffc <Address 0xfffffffc out of bounds>,
+status=0x425e8164,
+ refonly=0) at assembly.c:1018
+#19 0x08097cda in mono_assembly_open_full (
+ filename=0x4651b788
+"/opt/novell/ifolder3/web/bin/SyncService.Web.dll",
+ status=0x425e8164, refonly=0) at assembly.c:887
+#20 0x080d247d in ves_icall_System_Reflection_Assembly_LoadFrom (
+ fname=0x8e0ab60, refOnly=0 '\0') at appdomain.c:899
+
+
+---
+
+#12 0x080f80a2 in EnterCriticalSection (section=0x81fc764)
+ at critical-sections.c:151
+#13 0x080f80a2 in EnterCriticalSection (section=0x81fc760)
+ at critical-sections.c:151
+#14 0x080d23ce in mono_domain_assembly_search (aname=0x44124bc8,
+user_data=0x0)
+ at appdomain.c:867
+#15 0x0809760d in mono_assembly_invoke_search_hook (aname=0x44124bc8)
+ at assembly.c:607
+#16 0x08096ba8 in search_loaded (aname=0x44124bc8, refonly=0) at
+assembly.c:243
+#17 0x08097ff2 in mono_assembly_load_from_full (image=0x4397af58,
+ fname=0xfffffffc <Address 0xfffffffc out of bounds>,
+status=0x423e6164,
+ refonly=0) at assembly.c:970
+#18 0x08097cda in mono_assembly_open_full (
+ filename=0x4411f920
+"/opt/novell/ifolder3/web/bin/Simias.POBox.Web.dll",
+ status=0x423e6164, refonly=0) at assembly.c:887
+#19 0x080d247d in ves_icall_System_Reflection_Assembly_LoadFrom (
+ fname=0x8e0a2a0, refOnly=0 '\0') at appdomain.c:899
+
+In the first thread, mono_assembly_load_from_full does not hold any
+locks when it calls mono_assembly_invoke_load_hook. This will call
+mono_domain_fire_assembly_load which calls add_assemblies_to_domain
+under mono_domain_assemblies_lock. When this calls
+mono_assembly_addref, it increments a refcount inside assemblies_mutex.
+
+mono_assembly_load_from_full (in the second thread) holds the
+assemblies_mutex lock when it calls search_loaded. This calls
+mono_domain_assembly_search which will acquire
+mono_domain_assemblies_lock.
More information about the mono-bugs
mailing list