[Mono-bugs] [Bug 81654][Nor] Changed - Deadlock on SMP systems.

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu May 17 10:18:23 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 miguel at ximian.com.

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

--- shadow/81654	2007-05-17 10:07:05.000000000 -0400
+++ shadow/81654.tmp.24239	2007-05-17 10:18:23.000000000 -0400
@@ -1,14 +1,14 @@
 Bug#: 81654
 Product: Mono: Runtime
 Version: 1.2
-OS: 
+OS: unknown
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Normal
 Component: JIT
 AssignedTo: lupus at ximian.com                            
 ReportedBy: miguel at ximian.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
@@ -76,6 +76,148 @@
 #11 0x0000000000712dd8 in ?? ()
 #12 0x0000000040241d50 in ?? ()
 #13 0x00002b105d1cf7b9 in g_str_equal () from /opt/gnome/lib64/libglib-2.0.so.0
 #14 0x00000000004e7275 in mono_icall_get_wrapper (callinfo=0x6ccc48) at
 mini.c:7804
 #15 0x0000000000000000 in ?? ()
+
+------- Additional Comments From miguel at ximian.com  2007-05-17 10:18 -------
+Ok, updated stack traces, this time I was able to get out of the
+low-level handler and get them cleaned up (the raise happens when I
+force one of these threads out of the low-level __ll_mutex_lock_wait):
+
+#0  0x00002b28fb6a6b95 in raise () from /lib64/libc.so.6
+#1  0x00002b28fb6a7f90 in abort () from /lib64/libc.so.6
+#2  0x00002b28fb6a0256 in __assert_fail () from /lib64/libc.so.6
+#3  0x00002b28fb4126dd in pthread_mutex_lock () from
+/lib64/libpthread.so.0
+#4  0x0000000000493c5e in mono_loader_lock () at loader.c:1760
+#5  0x0000000000493f49 in mono_method_signature (m=0x33c9) at
+loader.c:1788
+#6  0x0000000000466677 in mono_marshal_get_runtime_invoke
+(method=0x860e98) at marshal.c:4429
+#7  0x0000000000504180 in mono_jit_runtime_invoke (method=0x860e98,
+obj=0x0, params=0x0, exc=0x40443fd0) at mini.c:10883
+#8  0x0000000000499e1a in mono_runtime_class_init (vtable=0x866ec8) at
+object.c:322
+#9  0x00000000004f8fad in mono_method_to_ir (cfg=0x889290,
+method=0x860b80, start_bblock=0x85b660, end_bblock=0x85b768,
+    locals_offset=0, return_var=0x0, dont_inline=0x882538,
+inline_args=0x0, inline_offset=0, is_virtual_call=0) at mini.c:6170
+#10 0x0000000000502485 in mini_method_compile (method=0x860b80,
+opts=2, domain=<value optimized out>,
+    run_cctors=<value optimized out>, compile_aot=<value optimized
+out>, parts=0) at mini.c:10247
+#11 0x0000000000503cba in mono_jit_compile_method (method=0x860b80) at
+mini.c:10612
+#12 0x000000000043f9c9 in mono_magic_trampoline (regs=0x40444838,
+code=0x33cc <Address 0x33cc out of bounds>, m=0x6,
+    tramp=0xffffffffffffffff <Address 0xffffffffffffffff out of
+bounds>) at mini-trampolines.c:27
+#13 0x000000004000013a in ?? ()
+#14 0x000000000081cc10 in ?? ()
+#15 0x000000004000013a in ?? ()
+#16 0x0000000000000000 in ?? ()
+#6  0x0000000000466677 in mono_marshal_get_runtime_invoke
+(method=0x860e98) at marshal.c:4429
+4429                            callsig = mono_method_signature (method);
+(gdb) p *method
+$10 = {flags = 6161, iflags = 0, token = 100673041, klass = 0x860bb8,
+signature = 0x0, generic_container = 0x0,
+  name = 0x2aaaaac84162 ".cctor", inline_info = 0, uses_this = 0,
+wrapper_type = 0, string_ctor = 0, save_lmf = 0, dynamic = 0,
+  is_inflated = 0, skip_visibility = 0, slot = -1}
+(gdb) p *method->klass
+$11 = {image = 0x6f6080, enum_basetype = 0x0, element_class =
+0x860bb8, cast_class = 0x860bb8, rank = 0 '\0', inited = 1,
+  init_pending = 0, size_inited = 1, valuetype = 0, enumtype = 0,
+blittable = 0, unicode = 0, wastypebuilder = 0, min_align = 1,
+  packing_size = 0, ghcimpl = 0, has_finalize = 0, marshalbyref = 0,
+contextbound = 0, delegate = 0, gc_descr_inited = 1,
+  has_cctor = 1, has_references = 0, has_static_refs = 1,
+no_special_static_fields = 0, is_com_object = 0, exception_type = 0 '\0',
+  exception_data = 0x0, declsec_flags = 0, parent = 0x6f6780,
+nested_in = 0x0, nested_classes = 0x0, type_token = 33555275,
+  name = 0x2aaaaac814df "CrossAppDomainChannel", name_space =
+0x2aaaaac7dc80 "System.Runtime.Remoting.Channels",
+  supertypes = 0x860ce8, idepth = 2, interface_count = 3, interface_id
+= 0, max_interface_id = 85, interface_offsets = 0x858c4c,
+  interfaces = 0x860d18, instance_size = 16, vtable_size = 18, sizes =
+{class_size = 8, element_size = 8}, flags = 1056768, field = {
+    first = 2617, count = 3}, method = {first = 9743, count = 11},
+property = {first = 0, count = 0}, event = {first = 0, count = 0},
+  marshal_info = 0x0, fields = 0x860d30, properties = 0x0, events =
+0x0, methods = 0x860e08, this_arg = {data = {klass = 0x860bb8,
+      type = 0x860bb8, array = 0x860bb8, method = 0x860bb8,
+generic_param = 0x860bb8, generic_class = 0x860bb8}, attrs = 0, type = 18,
+    num_mods = 0, byref = 1, pinned = 0, modifiers = 0x860ca4},
+byval_arg = {data = {klass = 0x860bb8, type = 0x860bb8,
+      array = 0x860bb8, method = 0x860bb8, generic_param = 0x860bb8,
+generic_class = 0x860bb8}, attrs = 0, type = 18, num_mods = 0,
+    byref = 0, pinned = 0, modifiers = 0x860cb4}, generic_class = 0x0,
+generic_container = 0x0, reflection_info = 0x0, gc_descr = 0x0,
+  runtime_info = 0x8611e8, vtable = 0x861108}
+
+
+The other thread:
+#0  0x00002b28fb4128ec in fmod () from /lib64/libpthread.so.0
+#1  0x0000000000000028 in ?? ()
+#2  0x00002b28fb4122a0 in fmod () from /lib64/libpthread.so.0
+#3  0x0000000000882610 in ?? ()
+#4  0x00002b28fb29f861 in g_list_prepend () from
+/opt/gnome/lib64/libglib-2.0.so.0
+#5  0x0000000000463e92 in mono_mb_add_data (mb=<value optimized out>,
+data=0x0) at marshal.c:1146
+#6  0x00000000006f6080 in ?? ()
+#7  0x00000000006f6080 in ?? ()
+#8  0x0000000000493c1e in mono_loader_unlock () at loader.c:1766
+#9  0x0000000000861240 in ?? ()
+#10 0x000000000073bff0 in ?? ()
+#11 0x0000000000861240 in ?? ()
+#12 0x000000000073bff0 in ?? ()
+#13 0x000000000047141e in mono_marshal_get_native_wrapper
+(method=0x73bff0) at marshal.c:2715
+#14 0x00000000004f8ba6 in mono_method_to_ir (cfg=0x2aaaab800d50,
+method=0x739d78, start_bblock=0x2aaaab8010f0,
+    end_bblock=0x2aaaab8011f8, locals_offset=2, return_var=0x0,
+dont_inline=0x77e3e0, inline_args=0x0, inline_offset=0,
+    is_virtual_call=0) at mini.c:4564
+#15 0x0000000000502485 in mini_method_compile (method=0x739d78,
+opts=1, domain=<value optimized out>,
+    run_cctors=<value optimized out>, compile_aot=<value optimized
+out>, parts=0) at mini.c:10247
+#16 0x0000000000503cba in mono_jit_compile_method (method=0x739d78) at
+mini.c:10612
+#17 0x000000000043f9c9 in mono_magic_trampoline (regs=0x7fffafc59608,
+code=0x0, m=0x2b28fb419290,
+    tramp=0xffffffffffffffff <Address 0xffffffffffffffff out of
+bounds>) at mini-trampolines.c:27
+#18 0x000000004000013a in ?? ()
+#19 0x00002aaaab6bc100 in ?? ()
+#20 0x000000000043fad0 in mono_magic_trampoline (regs=<value optimized
+out>, code=0x2aaaab62a708 "HS\200", m=<value optimized out>,
+    tramp=<value optimized out>) at mini-trampolines.c:58
+#21 0x000000004000013a in ?? ()
+#22 0x00002aaaab62a708 in ?? ()
+#23 0x000000004000013a in ?? ()
+#24 0x0000000000000000 in ?? ()
+#14 0x00000000004f8ba6 in mono_method_to_ir (cfg=0x2aaaab800d50,
+method=0x739d78, start_bblock=0x2aaaab8010f0,
+    end_bblock=0x2aaaab8011f8, locals_offset=2, return_var=0x0,
+dont_inline=0x77e3e0, inline_args=0x0, inline_offset=0,
+    is_virtual_call=0) at mini.c:4564
+4564                                            MonoMethod *wrapper =
+mono_marshal_get_native_wrapper (cmethod);
+(gdb) p *method
+$8 = {flags = 134, iflags = 0, token = 100664079, klass = 0x6f84c0,
+signature = 0x765ea0, generic_container = 0x0,
+  name = 0x2aaaaac8495e "IndexOfAny", inline_info = 0, uses_this = 0,
+wrapper_type = 0, string_ctor = 0, save_lmf = 0, dynamic = 0,
+  is_inflated = 0, skip_visibility = 0, slot = -1}
+(gdb) p *cmethod
+$9 = {flags = 129, iflags = 4096, token = 100664155, klass = 0x6f84c0,
+signature = 0x861200, generic_container = 0x0,
+  name = 0x2aaaaac84b5e "InternalIndexOfAny", inline_info = 0,
+uses_this = 0, wrapper_type = 0, string_ctor = 0, save_lmf = 0,
+  dynamic = 0, is_inflated = 0, skip_visibility = 0, slot = -1}
+(gdb)
+


More information about the mono-bugs mailing list