[Mono-bugs] [Bug 81856][Nor] Changed - Dead Lock with mysql
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Mon Jul 16 12:03:27 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 lupus at ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=81856
--- shadow/81856 2007-07-16 11:08:13.000000000 -0400
+++ shadow/81856.tmp.8437 2007-07-16 12:03:27.000000000 -0400
@@ -288,6 +288,44 @@
} catch (Exception e) {
Console.WriteLine(e.Message);
}
Console.WriteLine("Exiting");
}
+
+------- Additional Comments From lupus at ximian.com 2007-07-16 12:03 -------
+The new test case just confirms the same pattern: it produces 4
+threads with the following manually decoded traces at the time of the
+deadlock:
+
+thread1: (main thread)
+mono_domain_lock ()
+mono_jit_find_compiled_method ()
+mono_create_jump_trampoline ()
+mono_ldftn()
+
+thread2: (started thread)
+mono_domain_lock()
+mono_jit_info_table_find ()
+sigusr1_signal_handler ()
+
+thread3: (finalizer thread)
+timedwait_signal_poll_cond ()
+_wapi_handle_timedwait_signal_handle ()
+_wapi_handle_wait_signal_handle ()
+WaitForSingleObjectEx ()
+
+thread4: (io-layer thread)
+start_thread()
+
+There should be no deadlock with just the above calls, since one
+thread should block while the other takes the domain lock and proceeeds.
+The fact that both blocked may mean that a thread has been aborted
+with the domain lock held: which looks like this:
+lock = {depth = 0, mutex = {__data = {__lock = 2, __count = 0, __owner
+= 0, __kind = 1,
+ __nusers = 0, {__spins = 0, __list = {__next = 0x0}}},
+ __size = "\002", '\0' <repeats 11 times>,
+"\001\000\000\000\000\000\000\000\000\000\000",
+ __align = 2}}
+
+
More information about the mono-bugs
mailing list