[Mono-bugs] [Bug 81691][Nor] New - SIGSEGV using Type.GetField when assembly containing type of field does not exist

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sun May 20 10:53:32 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 gert.driesen at pandora.be.

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

--- shadow/81691	2007-05-20 10:53:32.000000000 -0400
+++ shadow/81691.tmp.19417	2007-05-20 10:53:32.000000000 -0400
@@ -0,0 +1,137 @@
+Bug#: 81691
+Product: Mono: Runtime
+Version: 1.2
+OS: All
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: misc
+AssignedTo: mono-bugs at ximian.com                            
+ReportedBy: gert.driesen at pandora.be               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: SIGSEGV using Type.GetField when assembly containing type of field does not exist
+
+When Type.GetField is invoked and the assembly in which the field's Type 
+is located does not exist, then a SIGSEGV is reported.
+
+On MS, Type.GetField returns a valid FieldInfo and the FieldType appears 
+to be lazy loaded.
+
+To reproduce:
+1. extract the attached gzipped tar archive.
+2. run 'make'.
+
+Expected result:
+
+Successfull execution.
+
+Actual result:
+
+** (test.exe:32370): WARNING **: The following assembly referenced 
+from /home/gert/mono/gert/standalone/bugnew/libb.dll could not be loaded:
+     Assembly:   liba    (assemblyref_index=1)
+     Version:    0.0.0.0
+     Public Key: (none)
+The assembly was not found in the Global Assembly Cache, a path listed in 
+the MONO_PATH environment variable, or in the location of the executing 
+assembly (/home/gert/mono/gert/standalone/bugnew).
+
+
+** (test.exe:32370): WARNING **: Could not load file or assembly 'liba, 
+Version=0.0.0.0, Culture=neutral' or one of its dependencies.
+Stacktrace:
+
+  at (wrapper managed-to-native) System.MonoType.GetField 
+(string,System.Reflection.BindingFlags) <0x00004>
+  at (wrapper managed-to-native) System.MonoType.GetField 
+(string,System.Reflection.BindingFlags) <0xffffffff>
+  at Program.Main () <0x00073>
+  at (wrapper runtime-invoke) System.Object.runtime_invoke_int 
+(object,intptr,intptr,intptr) <0xffffffff>
+
+Native stacktrace:
+
+	mono [0x815a09e]
+	mono [0x81238f8]
+	[0xffffe440]
+	[0x40af927d]
+	[0x40aecbc4]
+	[0x40aec7cf]
+	mono(mono_runtime_exec_main+0x10e) [0x80ed1fe]
+	mono(mono_runtime_run_main+0x1b9) [0x80ed4e9]
+	mono(mono_main+0xe9e) [0x805a8ee]
+	mono [0x8059542]
+	/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xdc) [0x40123ebc]
+	mono [0x8059491]
+
+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 1076165344 (LWP 32370)]
+[New Thread 1086307216 (LWP 32372)]
+[New Thread 1079524240 (LWP 32371)]
+0xffffe410 in __kernel_vsyscall ()
+  3 Thread 1079524240 (LWP 32371)  0xffffe410 in __kernel_vsyscall ()
+  2 Thread 1086307216 (LWP 32372)  0xffffe410 in __kernel_vsyscall ()
+  1 Thread 1076165344 (LWP 32370)  0xffffe410 in __kernel_vsyscall ()
+
+Thread 3 (Thread 1079524240 (LWP 32371)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0x400dc986 in ?? () from /lib/tls/i686/cmov/libpthread.so.0
+#2  0x08108b84 in collection_thread (unused=0x0) at collection.c:34
+#3  0x400d531b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
+#4  0x401dd57e in clone () from /lib/tls/i686/cmov/libc.so.6
+
+Thread 2 (Thread 1086307216 (LWP 32372)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0x400d95c6 in pthread_cond_wait@@GLIBC_2.3.2 ()
+   from /lib/tls/i686/cmov/libpthread.so.0
+#2  0x080fc56f in timedwait_signal_poll_cond (cond=0x405db1dc, 
+    mutex=0x405db1c4, timeout=0x0, alertable=0) at handles.c:1413
+#3  0x080fed8f in _wapi_handle_timedwait_signal_handle (handle=0x404, 
+    timeout=0x0, alertable=0) at handles.c:1493
+#4  0x080fee0c in _wapi_handle_wait_signal_handle (handle=0x404, 
+alertable=0)
+    at handles.c:1453
+#5  0x080fb7af in WaitForSingleObjectEx (handle=0x404, timeout=4294967295, 
+    alertable=0) at wait.c:200
+#6  0x080c813a in finalizer_thread (unused=0x0) at gc.c:835
+#7  0x080e6bd4 in start_wrapper (data=0x823f4c0) at threads.c:318
+#8  0x0810a082 in thread_start_routine (args=0x4062d3c0) at threads.c:253
+#9  0x0811bbb5 in GC_start_routine (arg=0x22f40) at pthread_support.c:1362
+#10 0x400d531b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
+#11 0x401dd57e in clone () from /lib/tls/i686/cmov/libc.so.6
+
+Thread 1 (Thread 1076165344 (LWP 32370)):
+#0  0xffffe410 in __kernel_vsyscall ()
+#1  0x401d63d1 in select () from /lib/tls/i686/cmov/libc.so.6
+#2  0x4008f4a0 in g_spawn_sync () from /usr/lib/libglib-2.0.so.0
+#3  0x4008f86c in g_spawn_command_line_sync () from /usr/lib/libglib-
+2.0.so.0
+#4  0x0815a139 in mono_handle_native_sigsegv (signal=11, ctx=0xbffe892c)
+    at mini-exceptions.c:1065
+#5  0x081238f8 in sigsegv_signal_handler (_dummy=11, info=0xbffe88ac, 
+    context=0xbffe892c) at mini.c:11154
+#6  <signal handler called>
+#7  0x08165ca6 in ves_icall_Type_GetField (type=0x2b840, name=0x43fc0, 
+    bflags=<value optimized out>) at icall.c:3075
+#8  0x40af927d in ?? ()
+#9  0x0002b840 in ?? ()
+#10 0x00043fc0 in ?? ()
+#11 0x00000028 in ?? ()
+#12 0x08218090 in ?? ()
+#13 0x08218090 in ?? ()
+#14 0x00000000 in ?? ()
+#0  0xffffe410 in __kernel_vsyscall ()
+
+=================================================================
+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.
+=================================================================


More information about the mono-bugs mailing list