[Mono-bugs] [Bug 58065][Maj] Changed - Random Crash or Freeze running gacutil

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Tue, 25 May 2004 16:02:24 -0400 (EDT)


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@ximian.com.

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

--- shadow/58065	2004-05-13 15:25:31.000000000 -0400
+++ shadow/58065.tmp.32166	2004-05-25 16:02:24.000000000 -0400
@@ -10,13 +10,12 @@
 Component: misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: umuff@quark.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: V1
 URL: 
-Cc: 
 Summary: Random Crash or Freeze running gacutil
 
 Running make install in mono/runtime will result in either a failure with thread_info failed error, 
 or a freeze, here is the info for a freeze:
 
 (gdb) i threads
@@ -67,6 +66,255 @@
 
 I can reproduce this deadlock on ppc by running a simple "Hello,
 World!" enough times in a loop...
 
 I'm going to try valgrind's thread debugging skin on a rh9/nptl box,
 to see if it throws up anything likely.
+
+------- Additional Comments From miguel@ximian.com  2004-05-25 16:02 -------
+Can we follow up on this one?
+
+With the new Thread.Abort, I get:
+
+mac$ mono threadpool.exe
+workerThreads: 25 completionPortThreads: 0
+workerThreads: 25 completionPortThreads: 0
+test_casllback:TEST1
+test_casllback:TEST2
+test_casllback:TEST3
+
+** ERROR **: file semaphores.c: line 209 (ReleaseSemaphore): assertion
+failed: (thr_ret == 0)
+aborting...
+
+Another invocation gives:
+
+mac$ mono threadpool.exe
+workerThreads: 25 completionPortThreads: 0
+workerThreads: 25 completionPortThreads: 0
+test_casllback:TEST1
+test_casllback:TEST3
+test_casllback:TEST4
+test_casllback:TEST2
+test_casllback:TEST5
+test_casllback:
+CSUM: 6
+
+(It hangs at that point consuming all the CPU), here is what
+the threads show:
+
+attach 21964
+Attaching to program: `/mono/bin/mono', process 21964.
+Reading symbols for shared libraries ++. done
+0xffff8288 in __spin_lock ()
+(gdb) where
+#0  0xffff8288 in __spin_lock ()
+#1  0x900021a0 in pthread_mutex_lock ()
+#2  0x010ab420 in _wapi_daemon_request_response_internal (fd=4,
+msg=0xbffff730, resp=0xbffff7e0) at daemon-messages.c:74
+#3  0x010ab6e4 in _wapi_daemon_request_response (fd=17988956,
+req=0x1127d5c, resp=0x18d) at daemon-messages.c:189
+#4  0x010ad7cc in _wapi_handle_ref (handle=0x1127d58) at handles.c:602
+#5  0x010aea30 in _wapi_handle_count_signalled_handles (numhandles=6,
+handles=0xbffff7e0, waitall=1, retcount=0xbffff990, lowest=0xbffff994)
+at handles.c:1363
+#6  0x010bb338 in test_and_own (numobjects=6, handles=0x1817400,
+waitall=1, count=0xbffff990, lowest=0xbffff994) at wait.c:352
+#7  0x010bb4b4 in WaitForMultipleObjectsEx (numobjects=6,
+handles=0x1817400, waitall=1, timeout=4294967295, alertable=0) at
+wait.c:473
+#8  0x0107cf68 in wait_for_tids (wait=0x1817400, timeout=4294967292)
+at threads.c:1231
+#9  0x0107d218 in mono_thread_manage () at threads.c:1377
+#10 0x0103be7c in mono_main (argc=2, argv=0xbffffc1c) at driver.c:801
+#11 0x00001b10 in _start (argc=3352832, argv=0x1, envp=0x4) at
+/SourceCache/Csu/Csu-47/crt.c:267
+#12 0x8fe1a58c in __dyld__dyld_start ()
+(gdb) thread apply all bt
+
+Thread 8 (process 21964 thread 0x3c03):
+#0  0xffff85d8 in __spin_lock_relinquish ()
+#1  0x900021a0 in pthread_mutex_lock ()
+#2  0x010ab420 in _wapi_daemon_request_response_internal (fd=4,
+msg=0xf0e059f0, resp=0xf0e05aa0) at daemon-messages.c:74
+#3  0x010ab6e4 in _wapi_daemon_request_response (fd=0, req=0x1,
+resp=0x1) at daemon-messages.c:189
+#4  0x010ad7cc in _wapi_handle_ref (handle=0x1127d58) at handles.c:602
+#5  0x010bad4c in WaitForSingleObjectEx (handle=0xd, timeout=0,
+alertable=-253732368) at ../../mono/io-layer/handles-private.h:359
+#6  0x0107dae4 in mono_thread_execute_interruption (thread=0xb7e40) at
+threads.c:1808
+#7  0x0107dd14 in mono_thread_interruption_checkpoint () at threads.c:1914
+#8  0x00053640 in ?? ()
+#9  0x000534f0 in ?? ()
+#10 0x000533f0 in ?? ()
+#11 0x000532c0 in ?? ()
+#12 0x002ec978 in ?? ()
+#13 0x002ec874 in ?? ()
+#14 0x002ec79c in ?? ()
+#15 0x01081ef0 in mono_exception_from_name_domain (domain=0x21ce8,
+image=0x1, name_space=0x1 <Address 0x1 out of bounds>, name=0xfffffffc
+<Address 0xfffffffc out of bounds>) at exception.c:47
+#16 0x0101e41c in sigfpe_signal_handler (_dummy=0, info=0x1,
+context=0xf0e06100) at mini.c:8092
+#17 <signal handler called>
+
+Thread 7 (process 21964 thread 0x3803):
+#0  0xffff85d8 in __spin_lock_relinquish ()
+#1  0x900021a0 in pthread_mutex_lock ()
+#2  0x010ab420 in _wapi_daemon_request_response_internal (fd=4,
+msg=0xf0e059f0, resp=0xf0e05aa0) at daemon-messages.c:74
+#3  0x010ab6e4 in _wapi_daemon_request_response (fd=0, req=0x1,
+resp=0x1) at daemon-messages.c:189
+#4  0x010ad7cc in _wapi_handle_ref (handle=0x1127d58) at handles.c:602
+#5  0x010bad4c in WaitForSingleObjectEx (handle=0xd, timeout=0,
+alertable=-253732368) at ../../mono/io-layer/handles-private.h:359
+#6  0x0107dae4 in mono_thread_execute_interruption (thread=0xb7e40) at
+threads.c:1808
+#7  0x0107dd14 in mono_thread_interruption_checkpoint () at threads.c:1914
+#8  0x00053640 in ?? ()
+#9  0x000534f0 in ?? ()
+#10 0x000533f0 in ?? ()
+#11 0x000532c0 in ?? ()
+#12 0x002ec978 in ?? ()
+#13 0x002ec874 in ?? ()
+#14 0x002ec79c in ?? ()
+#15 0x01081ef0 in mono_exception_from_name_domain (domain=0x21ce8,
+image=0x1, name_space=0x1 <Address 0x1 out of bounds>, name=0xfffffffc
+<Address 0xfffffffc out of bounds>) at exception.c:47
+#16 0x0101e41c in sigfpe_signal_handler (_dummy=0, info=0x1,
+context=0xf0e06100) at mini.c:8092
+#17 <signal handler called>
+
+Thread 6 (process 21964 thread 0x3303):
+#0  0xffff85d8 in __spin_lock_relinquish ()
+#1  0x900021a0 in pthread_mutex_lock ()
+#2  0x010ab420 in _wapi_daemon_request_response_internal (fd=4,
+msg=0xf0e059f0, resp=0xf0e05aa0) at daemon-messages.c:74
+#3  0x010ab6e4 in _wapi_daemon_request_response (fd=0, req=0x1,
+resp=0x1) at daemon-messages.c:189
+#4  0x010ad7cc in _wapi_handle_ref (handle=0x1127d58) at handles.c:602
+#5  0x010bad4c in WaitForSingleObjectEx (handle=0xd, timeout=0,
+alertable=-253732368) at ../../mono/io-layer/handles-private.h:359
+#6  0x0107dae4 in mono_thread_execute_interruption (thread=0xb7e40) at
+threads.c:1808
+#7  0x0107dd14 in mono_thread_interruption_checkpoint () at threads.c:1914
+#8  0x00053640 in ?? ()
+#9  0x000534f0 in ?? ()
+#10 0x000533f0 in ?? ()
+#11 0x000532c0 in ?? ()
+#12 0x002ec978 in ?? ()
+#13 0x002ec874 in ?? ()
+#14 0x002ec79c in ?? ()
+#15 0x01081ef0 in mono_exception_from_name_domain (domain=0x21ce8,
+image=0x1, name_space=0x1 <Address 0x1 out of bounds>, name=0xfffffffc
+<Address 0xfffffffc out of bounds>) at exception.c:47
+#16 0x0101e41c in sigfpe_signal_handler (_dummy=0, info=0x1,
+context=0xf0e06100) at mini.c:8092
+#17 <signal handler called>
+
+Thread 5 (process 21964 thread 0x2e03):
+#0  0x90014628 in semaphore_wait_trap ()
+#1  0x90002310 in pthread_mutex_lock ()
+#2  0x010ab420 in _wapi_daemon_request_response_internal (fd=4,
+msg=0xf0a04bb0, resp=0xf0a04c70) at daemon-messages.c:74
+#3  0x010ab6e4 in _wapi_daemon_request_response (fd=5891, req=0x1403,
+resp=0x3e8) at daemon-messages.c:189
+#4  0x010ad8f4 in _wapi_handle_unref (handle=0xf0a04c70) at handles.c:640
+#5  0x010baf38 in WaitForSingleObjectEx (handle=0xc, timeout=500,
+alertable=1073741824) at ../../mono/io-layer/handles-private.h:380
+#6  0x0107e39c in async_invoke_thread (data=0x0) at threadpool.c:256
+#7  0x0107bf74 in start_wrapper (data=0x1826200) at threads.c:249
+#8  0x010ba4ac in timed_thread_start_routine (args=0x38e230) at
+timed-thread.c:134
+#9  0x900247e8 in _pthread_body ()
+
+Thread 4 (process 21964 thread 0x2b03):
+#0  0xffff85d8 in __spin_lock_relinquish ()
+#1  0x900021a0 in pthread_mutex_lock ()
+#2  0x010ab420 in _wapi_daemon_request_response_internal (fd=4,
+msg=0xf0e059f0, resp=0xf0e05aa0) at daemon-messages.c:74
+#3  0x010ab6e4 in _wapi_daemon_request_response (fd=0, req=0x1,
+resp=0x1) at daemon-messages.c:189
+#4  0x010ad7cc in _wapi_handle_ref (handle=0x1127d58) at handles.c:602
+#5  0x010bad4c in WaitForSingleObjectEx (handle=0xd, timeout=0,
+alertable=-253732368) at ../../mono/io-layer/handles-private.h:359
+#6  0x0107dae4 in mono_thread_execute_interruption (thread=0xb7e40) at
+threads.c:1808
+#7  0x0107dd14 in mono_thread_interruption_checkpoint () at threads.c:1914
+#8  0x00053640 in ?? ()
+#9  0x000534f0 in ?? ()
+#10 0x000533f0 in ?? ()
+#11 0x000532c0 in ?? ()
+#12 0x002ec978 in ?? ()
+#13 0x002ec874 in ?? ()
+#14 0x002ec79c in ?? ()
+#15 0x01081ef0 in mono_exception_from_name_domain (domain=0x21ce8,
+image=0x1, name_space=0x1 <Address 0x1 out of bounds>, name=0xfffffffc
+<Address 0xfffffffc out of bounds>) at exception.c:47
+#16 0x0101e41c in sigfpe_signal_handler (_dummy=0, info=0x1,
+context=0xf0e06100) at mini.c:8092
+#17 <signal handler called>
+
+Thread 3 (process 21964 thread 0x2803):
+#0  0xffff8264 in __spin_lock ()
+#1  0x900021a0 in pthread_mutex_lock ()
+#2  0x010ab420 in _wapi_daemon_request_response_internal (fd=4,
+msg=0xf0e059f0, resp=0xf0e05aa0) at daemon-messages.c:74
+#3  0x010ab6e4 in _wapi_daemon_request_response (fd=17988956,
+req=0x1127d5c, resp=0x3a1) at daemon-messages.c:189
+#4  0x010ad7cc in _wapi_handle_ref (handle=0x1127d58) at handles.c:602
+#5  0x010bad4c in WaitForSingleObjectEx (handle=0xd, timeout=0,
+alertable=-253732368) at ../../mono/io-layer/handles-private.h:359
+#6  0x0107dae4 in mono_thread_execute_interruption (thread=0xb7e40) at
+threads.c:1808
+#7  0x0107dd14 in mono_thread_interruption_checkpoint () at threads.c:1914
+#8  0x00053640 in ?? ()
+#9  0x000534f0 in ?? ()
+#10 0x000533f0 in ?? ()
+#11 0x000532c0 in ?? ()
+#12 0x002ec978 in ?? ()
+#13 0x002ec874 in ?? ()
+#14 0x002ec79c in ?? ()
+#15 0x01081ef0 in mono_exception_from_name_domain (domain=0x21ce8,
+image=0x1127d5c, name_space=0x3a1 <Address 0x3a1 out of bounds>,
+name=0xfffffffc <Address 0xfffffffc out of bounds>) at exception.c:47
+#16 0x0101e41c in sigfpe_signal_handler (_dummy=17988956,
+info=0x1127d5c, context=0xf0e06100) at mini.c:8092
+#17 <signal handler called>
+
+Thread 2 (process 21964 thread 0x1103):
+#0  0x90018ce8 in semaphore_timedwait_signal_trap ()
+#1  0x9000e888 in _pthread_cond_wait ()
+#2  0x010aed1c in _wapi_handle_wait_signal_handle (handle=0x1303) at
+handles.c:1510
+#3  0x010bae70 in WaitForSingleObjectEx (handle=0x3,
+timeout=4294967295, alertable=396) at wait.c:108
+#4  0x0106fcb4 in finalizer_thread (unused=0x31) at gc.c:532
+#5  0x0107bf74 in start_wrapper (data=0x1815400) at threads.c:249
+#6  0x010ba4ac in timed_thread_start_routine (args=0x331d20) at
+timed-thread.c:134
+#7  0x900247e8 in _pthread_body ()
+
+Thread 1 (process 21964 thread 0x307):
+#0  0xffff8288 in __spin_lock ()
+#1  0x900021a0 in pthread_mutex_lock ()
+#2  0x010ab420 in _wapi_daemon_request_response_internal (fd=4,
+msg=0xbffff730, resp=0xbffff7e0) at daemon-messages.c:74
+#3  0x010ab6e4 in _wapi_daemon_request_response (fd=17988956,
+req=0x1127d5c, resp=0x18d) at daemon-messages.c:189
+#4  0x010ad7cc in _wapi_handle_ref (handle=0x1127d58) at handles.c:602
+#5  0x010aea30 in _wapi_handle_count_signalled_handles (numhandles=6,
+handles=0xbffff7e0, waitall=1, retcount=0xbffff990, lowest=0xbffff994)
+at handles.c:1363
+#6  0x010bb338 in test_and_own (numobjects=6, handles=0x1817400,
+waitall=1, count=0xbffff990, lowest=0xbffff994) at wait.c:352
+#7  0x010bb4b4 in WaitForMultipleObjectsEx (numobjects=6,
+handles=0x1817400, waitall=1, timeout=4294967295, alertable=0) at
+wait.c:473
+#8  0x0107cf68 in wait_for_tids (wait=0x1817400, timeout=4294967292)
+at threads.c:1231
+#9  0x0107d218 in mono_thread_manage () at threads.c:1377
+#10 0x0103be7c in mono_main (argc=2, argv=0xbffffc1c) at driver.c:801
+#11 0x00001b10 in _start (argc=3352832, argv=0x1, envp=0x4) at
+/SourceCache/Csu/Csu-47/crt.c:267
+#12 0x8fe1a58c in __dyld__dyld_start ()