[Mono-bugs] [Bug 82286][Nor] Changed - Assertion in new "small thread id" code

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Aug 3 09:28: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 mark.probst at gmail.com.

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

--- shadow/82286	2007-08-03 06:17:11.000000000 -0400
+++ shadow/82286.tmp.27085	2007-08-03 09:28:31.000000000 -0400
@@ -27,6 +27,66 @@
 assert with almost every restart of mod_mono. The best I can offer is the
 test case from bug 80743. With that ("mono tinyhost.exe 100"), you get the
 assertion sometimes after two or three web app restart, sometimes it goes
 through 100 restarts without it...
 
 I'm using mono von SVN (r83235) on a Pentium 4 machine.
+
+------- Additional Comments From mark.probst at gmail.com  2007-08-03 09:28 -------
+The problem seems to be that thread_cleanup is called more than once
+for the same thread, which I assume shouldn't happen (or should it?).
+ I don't know why it does and I'll have a hard time figuring it out if
+we don't have a test case that can reproduce the bug more regularly. 
+Here's a log of a crash with the thread logging turned on:
+
+...
+...
+...
+** Message: mono_thread_current: returning 0x2aaaadfcbc40
+** Message: mono_thread_current: returning 0x2aaaadfcbc40
+** Message: mono_thread_current: returning 0x2aaaadfcbc40
+** Message: mono_thread_current: returning 0x2aaaadfcbc40
+** Message: mono_thread_current: returning 0x2aaaadfcbc40
+** Message: mono_thread_current: returning 0x2aaaaf071280
+** Message: mono_thread_current: returning 0x2aaaaf071280
+** Message: mono_thread_current: returning 0x2aaaaf071280
+** Message: mono_thread_current: returning 0x2aaaaf071280
+** Message: handle_remove: thread ID 1107700032
+** Message: mono_thread_current: returning 0x2aaaaf071280
+** Message: thread_cleanup: cleaning up thread 0x2aaaaf071280
+** Message: ves_icall_System_Threading_Thread_Thread_internal: Trying
+to start a new thread: this (0x2aaaaf071b40) start (0x2aaaaf1aeae0)
+** Message: mono_thread_start: (46912496293456) Launching thread
+0x2aaaaf071b40 (1107700032)
+** Message: handle_store: thread 0x2aaaaf071b40 ID 1107700032
+** Message: mono_thread_start: (46912496293456) waiting for thread
+0x2aaaaf071b40 (1107700032) to start
+** Message: start_wrapper: (1107700032) Start wrapper
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: start_wrapper: (1107700032) Setting current_object_key to
+0x2aaaaf071b40
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: mono_thread_start: (46912496293456) Done launching thread
+0x2aaaaf071b40 (1107700032)
+** Message: ves_icall_System_Threading_Thread_Thread_internal: Started
+thread ID 1107700032 (handle 0xcfa)
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: mono_thread_current: returning 0x2aaaaf071b40
+** Message: wait_for_tids: cleaning up after thread 1107700032
+** Message: handle_remove: thread ID 1107700032
+** Message: mono_thread_current: returning (nil)
+** Message: thread_cleanup: cleaning up thread 0x2aaaaf071280
+** Message: small_id_free: small id is -2
+
+** ERROR **: file threads.c: line 336 (small_id_free): assertion
+failed: (id >= 0 && id < small_id_table_size)
+aborting...
+Segmentation fault
+
+
+I'll upload a patch that fixes the crash, but I can't fix the
+underlying problem without being able to reproduce the crash better.


More information about the mono-bugs mailing list