[Mono-bugs] [Bug 54882][Wis] New - mono stalls at end of execution with profiling enabled

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 26 Feb 2004 00:12:26 -0500 (EST)

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 mathpup@mylinuxisp.com.


--- shadow/54882	2004-02-26 00:12:26.000000000 -0500
+++ shadow/54882.tmp.18512	2004-02-26 00:12:26.000000000 -0500
@@ -0,0 +1,102 @@
+Bug#: 54882
+Product: Mono/Runtime
+Version: unspecified
+OS Details: 
+Status: NEW   
+Priority: Wishlist
+Component: misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: mathpup@mylinuxisp.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+Summary: mono stalls at end of execution with profiling enabled
+Description of Problem: 
+When I was attempting to profile mcs.exe doing a compile of corlib, I 
+discovered that after mcs printed "Compilation succeeded", the profiling 
+information was never printed, the mono processes continued to exist but 
+consuming no CPU time. When working with small compilations, such as 
+single files, I did not observe this behavior. 
+Steps to reproduce the problem: 
+1. Start the make process normally in mcs, until it gets to the point of 
+building corlib, then abort. 
+2. cd to mcs/class/corlib, and manually run (locations for mcs.exe will 
+"mono --profile /usr/local/bin/mcs.exe  /nowarn:649 /nowarn:169 
+-d:INSIDE_CORLIB  -d:NET_1_1 -d:ONLY_1_1 
+-g /noconfig /unsafe /nostdlib /target:library /out:../../class/lib/mscorlib.dll 
+Actual Results: 
+mcs prints "Compilation succeeded" but hangs. Opening another window and 
+running gdb --pid=<mono process> and then running "thread apply all bt" 
+yields the backtrace: 
+Thread 1 (Thread 1086903744 (LWP 10838)): 
+#0  0xffffe002 in ?? () 
+#1  0x401a26c4 in g_free () from /usr/lib/libglib-2.0.so.0 
+#2  0x4019361d in g_hash_table_size () from /usr/lib/libglib-2.0.so.0 
+#3  0x400b90cb in simple_method_enter (prof=0x0, method=0x42200888) at 
+#4  0x400b7e92 in mono_profiler_method_enter (method=0xfffffffc) at 
+#5  0x41f40b39 in ?? () 
+#6  0x4004a794 in mono_jit_runtime_invoke (method=0xffffffff, 
+    params=0xffffffff, exc=0xffffffff) at mini.c:7824 
+#7  0x4008aa35 in mono_runtime_invoke (method=0xfffffffc, obj=0xfffffffc, 
+    params=0xfffffffc, exc=0xfffffffc) at object.c:757 
+#8  0x4008d6ee in mono_print_unhandled_exception (exc=0x80daf90) at 
+#9  0x4008b6e4 in mono_unhandled_exception (exc=0x80daf90) at 
+#10 0x40078cf3 in mono_arch_handle_exception (ctx=0x811bb0c, 
+    test_only=0) at exceptions-x86.c:1059 
+#11 0x4004a8c6 in sigsegv_signal_handler (_dummy=11, info=0xfffffffc, 
+    context=0x811baf8) at mini.c:7874 
+#12 <signal handler called> 
+#13 0x42073fec in _int_malloc () from /lib/tls/libc.so.6 
+#14 0x42073a5e in calloc () from /lib/tls/libc.so.6 
+#15 0x401a25d1 in g_malloc0 () from /usr/lib/libglib-2.0.so.0 
+#16 0x401935aa in g_hash_table_size () from /usr/lib/libglib-2.0.so.0 
+#17 0x400b8f42 in merge_methods (method=0x94, profile=0x820af30, 
+---Type <return> to continue, or q <return> to quit--- 
+    at profiler.c:813 
+#18 0x40193466 in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0 
+#19 0x400b8faa in merge_thread_data (master=0xffffffff, tprof=0x0) at 
+#20 0x400b9493 in simple_shutdown (prof=0x804a1f8) at profiler.c:1000 
+#21 0x400b8505 in mono_profiler_shutdown () at profiler.c:332 
+#22 0x4004bc17 in mini_cleanup (domain=0x8070ed8) at mini.c:8238 
+#23 0x4006880c in mono_main (argc=13, argv=0xbfffe094) at driver.c:785 
+#24 0x080486eb in main (argc=-4, argv=0xfffffffc) at main.c:6 
+#25 0x42015574 in __libc_start_main () from /lib/tls/libc.so.6 
+Expected Results: 
+Profiling information is printed. 
+How often does this happen?  
+Additional Information: