[Mono-bugs] [Bug 79734][Nor] New - nunit-gui: loading, running, closing, re-loading, and re-running an assembly crashes

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Tue Oct 24 14:59:38 EDT 2006


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 matt at use.net.

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

--- shadow/79734	2006-10-24 14:59:38.000000000 -0400
+++ shadow/79734.tmp.9703	2006-10-24 14:59:38.000000000 -0400
@@ -0,0 +1,311 @@
+Bug#: 79734
+Product: Mono: Class Libraries
+Version: 1.1
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: System
+AssignedTo: mono-bugs at ximian.com                            
+ReportedBy: matt at use.net               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: nunit-gui: loading, running, closing, re-loading, and re-running an assembly crashes
+
+Steps to reproduce the problem:
+1. rm -rf ~/.mono/registry
+2. run nunit-gui
+3. File->Open nunit.uikit.tests.dll, press alt+R to run them
+4. File->Close
+5. File->Open nunit.uikit.tests.dll, press alt+R to run them
+
+Actual Results:
+crash:
+=================================================================
+Got a SIGSEGV while executing native code. This usually indicates
+a fatal error in the mono runtime or one of the native libraries
+used by your application.
+=================================================================
+
+Stacktrace:
+
+  at (wrapper managed-to-native) 
+System.Reflection.MonoCMethod.InternalInvoke (object,object[]) <0x00004>
+  at (wrapper managed-to-native) 
+System.Reflection.MonoCMethod.InternalInvoke (object,object[]) 
+<0xffffffff>
+  at System.Reflection.MonoCMethod.Invoke 
+(object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) 
+[0x00040] 
+in /home/matt/src/mcs/class/corlib/System.Reflection/MonoMethod.cs:373
+  at System.Reflection.MonoCMethod.Invoke 
+(System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) 
+[0x00000] 
+in /home/matt/src/mcs/class/corlib/System.Reflection/MonoMethod.cs:384
+  at System.Reflection.ConstructorInfo.Invoke (object[]) [0x0000f] 
+in /home/matt/src/mcs/class/corlib/System.Reflection/ConstructorInfo.cs:77
+  at NUnit.Core.Reflect.Construct (System.Type) <0x00029>
+  at NUnit.Core.TestFixture.DoFixtureSetUp (NUnit.Core.TestResult) 
+<0x00031>
+  at NUnit.Core.TestSuite.DoOneTimeSetUp (NUnit.Core.TestResult) 
+<0x000eb>
+  at NUnit.Core.TestSuite.Run 
+(NUnit.Core.EventListener,NUnit.Core.IFilter) <0x000fe>
+  at NUnit.Core.TestSuite.RunAllTests 
+(NUnit.Core.TestSuiteResult,NUnit.Core.EventListener,NUnit.Core.IFilter) 
+<0x001ef>
+  at NUnit.Core.TestSuite.Run 
+(NUnit.Core.EventListener,NUnit.Core.IFilter) <0x00111>
+  at NUnit.Core.TestSuite.RunAllTests 
+(NUnit.Core.TestSuiteResult,NUnit.Core.EventListener,NUnit.Core.IFilter) 
+<0x001ef>
+  at NUnit.Core.TestSuite.Run 
+(NUnit.Core.EventListener,NUnit.Core.IFilter) <0x00111>
+  at NUnit.Core.TestSuite.RunAllTests 
+(NUnit.Core.TestSuiteResult,NUnit.Core.EventListener,NUnit.Core.IFilter) 
+<0x001ef>
+  at NUnit.Core.TestSuite.Run 
+(NUnit.Core.EventListener,NUnit.Core.IFilter) <0x00111>
+  at NUnit.Core.TestSuite.RunAllTests 
+(NUnit.Core.TestSuiteResult,NUnit.Core.EventListener,NUnit.Core.IFilter) 
+<0x001ef>
+  at NUnit.Core.TestSuite.Run 
+(NUnit.Core.EventListener,NUnit.Core.IFilter) <0x00111>
+  at NUnit.Core.TestAssembly.Run 
+(NUnit.Core.EventListener,NUnit.Core.IFilter) <0x00050>
+  at NUnit.Core.SimpleTestRunner.Run 
+(NUnit.Core.EventListener,NUnit.Core.Test[]) <0x0012d>
+  at NUnit.Core.SimpleTestRunner.Run (NUnit.Core.EventListener,string[]) 
+<0x00094>
+  at NUnit.Core.TestRunnerThread.TestRunnerThreadProc () <0x00029>
+  at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void () 
+<0xffffffff>
+  at (wrapper runtime-invoke) System.Object.runtime_invoke_void 
+(object,intptr,intptr,intptr) <0xffffffff>
+
+Native stacktrace:
+
+        mono [0x815113d]
+        mono [0x811da4a]
+        [0xffffe440]
+        mono(mono_class_vtable+0x405) [0x808c097]
+        mono(mono_class_vtable+0x44f) [0x808c0e1]
+        mono(mono_object_new+0x18) [0x808ed7b]
+        mono(mono_runtime_invoke_array+0x310) [0x808f1a7]
+        mono [0x8095398]
+        [0xb62424fd]
+        [0xb6242281]
+        [0xb62421e5]
+        [0xb6238636]
+        [0xb62160f2]
+        [0xb63174f2]
+        [0xb6316e7c]
+        [0xb6316b17]
+        [0xb63170e0]
+        [0xb6316b2a]
+        [0xb63170e0]
+        [0xb6316b2a]
+        [0xb63170e0]
+        [0xb6316b2a]
+        [0xb63170e0]
+        [0xb6316b2a]
+        [0xb6316919]
+        [0xb6315be6]
+        [0xb631400d]
+        [0xb6313f32]
+        [0xb6212288]
+        [0xb6242581]
+        mono(mono_runtime_delegate_invoke+0x36) [0x808bbe4]
+        mono [0x80bdabc]
+        mono [0x81029e8]
+        mono [0x8117276]
+        /lib/tls/i686/cmov/libpthread.so.0 [0xb7e83534]
+        /lib/tls/i686/cmov/libc.so.6(__clone+0x5e) [0xb7df021e]
+
+Debug info from gdb:
+
+Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
+[Thread debugging using libthread_db enabled]
+[New Thread -1210972480 (LWP 18114)]
+[New Thread -1248855136 (LWP 18280)]
+[New Thread -1249907808 (LWP 18279)]
+[New Thread -1241039968 (LWP 18277)]
+[New Thread -1218757728 (LWP 18116)]
+[New Thread -1208804448 (LWP 18115)]
+0xffffe410 in __kernel_vsyscall ()
+  6 Thread -1208804448 (LWP 18115)  0xffffe410 in __kernel_vsyscall ()
+  5 Thread -1218757728 (LWP 18116)  0xffffe410 in __kernel_vsyscall ()
+  4 Thread -1241039968 (LWP 18277)  0xffffe410 in __kernel_vsyscall ()
+  3 Thread -1249907808 (LWP 18279)  0xffffe410 in __kernel_vsyscall ()
+  2 Thread -1248855136 (LWP 18280)  0xffffe410 in __kernel_vsyscall ()
+  1 Thread -1210972480 (LWP 18114)  0xffffe410 in __kernel_vsyscall ()
+
+Thread 6 (Thread -1208804448 (LWP 18115)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0xb7e89c06 in __nanosleep_nocancel ()
+   from /lib/tls/i686/cmov/libpthread.so.0
+#2  0x080eee64 in collection_thread (unused=0x0) at collection.c:34
+#3  0xb7e83534 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
+#4  0xb7df021e in clone () from /lib/tls/i686/cmov/libc.so.6
+
+Thread 5 (Thread -1218757728 (LWP 18116)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0xb7e86856 in pthread_cond_wait@@GLIBC_2.3.2 ()
+   from /lib/tls/i686/cmov/libpthread.so.0
+#2  0x080f20a7 in timedwait_signal_poll_cond (cond=0xb7a891dc,
+    mutex=0xb7a891c4, timeout=0x0, alertable=0) at handles.c:1409
+#3  0x080f4260 in _wapi_handle_timedwait_signal_handle (handle=0x404,
+    timeout=0x0, alertable=0) at handles.c:1489
+#4  0x080f42cb in _wapi_handle_wait_signal_handle (handle=0xfffffffc,
+    alertable=-4) at handles.c:1449
+#5  0x0810339a in WaitForSingleObjectEx (handle=0x404, 
+timeout=4294967295,
+    alertable=0) at wait.c:200
+#6  0x080a4cc7 in finalizer_thread (unused=0x0) at gc.c:816
+#7  0x080bda62 in start_wrapper (data=0x823c5c8) at threads.c:312
+#8  0x081029e8 in thread_start_routine (args=0xb79393b4) at threads.c:253
+#9  0x08117276 in GC_start_routine (arg=0xfffffffc) at 
+pthread_support.c:1357
+#10 0xb7e83534 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
+#11 0xb7df021e in clone () from /lib/tls/i686/cmov/libc.so.6
+
+Thread 4 (Thread -1241039968 (LWP 18277)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0xb7e86acc in pthread_cond_timedwait@@GLIBC_2.3.2 ()
+   from /lib/tls/i686/cmov/libpthread.so.0
+#2  0x080f2059 in timedwait_signal_poll_cond (cond=0xb7a9ac18,
+    mutex=0xb7a9ac00, timeout=0xb6073230, alertable=1) at handles.c:1419
+#3  0x080f4260 in _wapi_handle_timedwait_signal_handle (handle=0x6a1,
+    timeout=0xb6073230, alertable=0) at handles.c:1489
+#4  0x08103347 in WaitForSingleObjectEx (handle=0x6a1, timeout=10000,
+    alertable=1) at wait.c:202
+#5  0x080bbe43 in ves_icall_System_Threading_WaitHandle_WaitOne_internal 
+(
+    this=0x52c6f0, handle=0xfffffffc, ms=-4, exitContext=0) at 
+threads.c:978
+#6  0xb62124aa in ?? ()
+#7  0x0052c6f0 in ?? ()
+#8  0x000006a1 in ?? ()
+#9  0x00002710 in ?? ()
+#10 0x00000000 in ?? ()
+
+Thread 3 (Thread -1249907808 (LWP 18279)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0xb7e86acc in pthread_cond_timedwait@@GLIBC_2.3.2 ()
+   from /lib/tls/i686/cmov/libpthread.so.0
+#2  0x080f2059 in timedwait_signal_poll_cond (cond=0xb7a9b560,
+    mutex=0xb7a9b548, timeout=0x0, alertable=1) at handles.c:1419
+#3  0x080f4260 in _wapi_handle_timedwait_signal_handle (handle=0x6b7,
+    timeout=0x0, alertable=0) at handles.c:1489
+#4  0x080f42cb in _wapi_handle_wait_signal_handle (handle=0xfffffffc,
+    alertable=-4) at handles.c:1449
+#5  0x0810339a in WaitForSingleObjectEx (handle=0x6b7, 
+timeout=4294967295,
+    alertable=1) at wait.c:200
+#6  0x080bb10d in ves_icall_System_Threading_Monitor_Monitor_wait (
+    obj=0x4b3860, ms=4294967292) at monitor.c:787
+#7  0xb6313b2a in ?? ()
+#8  0x004b3860 in ?? ()
+#9  0xffffffff in ?? ()
+#10 0x08959d08 in ?? ()
+#11 0x08959d08 in ?? ()
+#12 0x00000000 in ?? ()
+
+Thread 2 (Thread -1248855136 (LWP 18280)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0xb7de9181 in select () from /lib/tls/i686/cmov/libc.so.6
+#2  0xb7ee4312 in IA__g_spawn_sync (working_directory=0x0, 
+argv=0x8b33698,
+    envp=0x0, flags=G_SPAWN_SEARCH_PATH, child_setup=0, user_data=0x0,
+    standard_output=0xb58fe688, standard_error=0xb58fe684,
+    exit_status=0xb58fe680, error=0x0) at gspawn.c:285
+#3  0xb7ee46b6 in IA__g_spawn_command_line_sync (
+    command_line=0xb58fddf4 "gdb --ex 'attach 18114' --ex 'info 
+threads' --ex 'thread apply all bt' --batch", standard_output=0xb58fe688,
+    standard_error=0xb58fe684, exit_status=0xb58fe680, error=0x0)
+    at gspawn.c:653
+#4  0x081511ae in mono_handle_native_sigsegv (signal=11, ctx=0xb58fe74c)
+    at mini-exceptions.c:1073
+#5  0x0811da4a in sigsegv_signal_handler (_dummy=11, info=0xb58fe6cc,
+    context=0xb58fe74c) at mini.c:10767
+#6  <signal handler called>
+#7  0x08061137 in mono_aot_init_vtable (vtable=0x8ce4750) at 
+aot-runtime.c:672
+#8  0x0808c097 in mono_class_vtable (domain=0x505e10, class=0x8a48e1c)
+    at object.c:977
+#9  0x0808c0e1 in mono_class_vtable (domain=0x505e10, class=0x8a2371c)
+    at object.c:1005
+#10 0x0808ed7b in mono_object_new (domain=0x0, klass=0x0) at 
+object.c:2503
+#11 0x0808f1a7 in mono_runtime_invoke_array (method=0x8a23934, obj=0x0,
+    params=0x487d30, exc=0x0) at object.c:2419
+#12 0x08095398 in ves_icall_InternalInvoke (method=0x0, this=0x0,
+    params=0x487d30) at icall.c:2689
+#13 0xb62424fd in ?? ()
+#14 0x0054b3f0 in ?? ()
+#15 0x00000000 in ?? ()
+
+Thread 1 (Thread -1210972480 (LWP 18114)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0xb7de66a3 in poll () from /lib/tls/i686/cmov/libc.so.6
+#2  0xb61f9f6c in ?? ()
+#3  0x005322f0 in ?? ()
+#4  0x00000002 in ?? ()
+#5  0x000003e8 in ?? ()
+#6  0x08218e20 in ?? ()
+#7  0x005322f0 in ?? ()
+#8  0x00b13ef2 in ?? ()
+#9  0x005322f0 in ?? ()
+#10 0x08218e20 in ?? ()
+#11 0x00000001 in ?? ()
+#12 0xbff53598 in ?? ()
+#13 0x005322e0 in ?? ()
+#14 0x00000000 in ?? ()
+
+When reproducing the crash under valgrind, I get this output which is 
+consistent with the gdb trace:
+==18305== Thread 4:
+==18305== Conditional jump or move depends on uninitialised value(s)
+==18305==    at 0x8127993: mono_method_to_ir (mini.c:4439)
+==18305==    by 0x813D405: inline_method (mini.c:3363)
+==18305==    by 0x8138DA7: mono_method_to_ir (mini.c:4650)
+==18305==    by 0x813B144: mini_method_compile (mini.c:10023)
+==18305==    by 0x813CC3F: mono_jit_compile_method (mini.c:10388)
+==18305==    by 0x8075973: mono_magic_trampoline (mini-trampolines.c:27)
+==18305==    by 0x4340031: ???
+==18305==    by 0x7D70A92: ???
+==18305==    by 0x7D7086D: ???
+==18305==    by 0x7D70732: ???
+==18305==    by 0x7D6E6F4: ???
+==18305==    by 0x7D6E35D: ???
+==18305==
+==18305== Thread 6:
+==18305== Invalid read of size 4
+==18305==    at 0x8061137: mono_aot_init_vtable (aot-runtime.c:672)
+==18305==    by 0x808C096: mono_class_vtable (object.c:977)
+==18305==    by 0x808C0E0: mono_class_vtable (object.c:1005)
+==18305==    by 0x808ED7A: mono_object_new (object.c:2503)
+==18305==    by 0x808F1A6: mono_runtime_invoke_array (object.c:2419)
+==18305==    by 0x8095397: ves_icall_InternalInvoke (icall.c:2689)
+==18305==    by 0x7D784FC: ???
+==18305==    by 0x7D78280: ???
+==18305==    by 0x7D781E4: ???
+==18305==    by 0x7D8E635: ???
+==18305==    by 0x7EAD0F1: ???
+==18305==    by 0x7CA9A91: ???
+==18305==  Address 0x40 is not stack'd, malloc'd or (recently) free'd
+
+
+
+Expected Results:
+Should run the tests with the same results as the first time.
+
+
+Additional Information:
+There was a similar issue a few months ago that was fixed, and the 
+problem was in the TreeView. This appears to be reflection-related, 
+though.


More information about the mono-bugs mailing list