https://bugzilla.novell.com/show_bug.cgi?id=678269
https://bugzilla.novell.com/show_bug.cgi?id=678269#c0 Summary: ModuleBuilder.GetToken causes SIGSEGV Classification: Mono Product: Mono: Runtime Version: 2.10.x Platform: x86-64 OS/Version: Linux Status: NEW Severity: Normal Priority: P5 - None Component: misc AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- Created an attachment (id=418412) --> (http://bugzilla.novell.com/attachment.cgi?id=418412) Test assemblies and source code User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.14) Gecko/20110301 Fedora/3.6.14-1.fc14 Firefox/3.6.14 Getting the Metadata token in the context of an emit causes a SIGSEGV on 2.10.x and newer. If you uncomment the line above the emit to pre-read the MetadataToken, it works around the issue. This works properly on 2.8.2 Reproducible: Always Steps to Reproduce: 1.mono GetMetadataToken.exe 2. 3. Actual Results: $ mono GetMetadataToken.exe Stacktrace: at (wrapper managed-to-native) System.Reflection.Emit.ModuleBuilder.getToken (System.Reflection.Emit.ModuleBuilder,object,bool) <0xffffffff> at System.Reflection.Emit.ModuleBuilder.GetToken (System.Reflection.MemberInfo,bool) <0x00025> at System.Reflection.Emit.ModuleBuilderTokenGenerator.GetToken (System.Reflection.MemberInfo,bool) <0x0002b> at System.Reflection.Emit.ILGenerator.Emit (System.Reflection.Emit.OpCode,System.Reflection.FieldInfo) <0x0002f> at GetMetadataToken.MainClass.Main (string[]) <0x00149> at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: mono() [0x80e17c0] mono() [0x812738b] mono() [0x805d271] [0x4f840c] mono() [0x81bb2bd] mono() [0x81c4926] mono() [0x815e87f] [0x7afc5e] /opt/mono/lib/mono/4.0/mscorlib.dll.so(+0x178a96) [0xdd1a96] /opt/mono/lib/mono/4.0/mscorlib.dll.so(+0x179c0c) [0xdd2c0c] /opt/mono/lib/mono/4.0/mscorlib.dll.so(+0x16ef40) [0xdc7f40] [0x7ade92] [0x7adf9d] mono() [0x8061f28] mono(mono_runtime_invoke+0x3e) [0x81abc9e] mono(mono_runtime_exec_main+0xd8) [0x81aea68] mono(mono_main+0x17cf) [0x80bbc1f] mono() [0x8056f9e] /lib/libc.so.6(__libc_start_main+0xe6) [0x984e36] mono() [0x8056df1] Debug info from gdb: Mono support loaded. [Thread debugging using libthread_db enabled] [New Thread 0xb5bd0b70 (LWP 1562)] [New Thread 0xb66adb70 (LWP 1561)] [New Thread 0xb6eaeb70 (LWP 1560)] [New Thread 0xb76afb70 (LWP 1559)] 0x004f8424 in __kernel_vsyscall () 5 Thread 0xb76afb70 (LWP 1559) 0x004f8424 in __kernel_vsyscall () 4 Thread 0xb6eaeb70 (LWP 1560) 0x004f8424 in __kernel_vsyscall () 3 Thread 0xb66adb70 (LWP 1561) 0x004f8424 in __kernel_vsyscall () 2 Thread 0xb5bd0b70 (LWP 1562) 0x004f8424 in __kernel_vsyscall () * 1 Thread 0xb78b06e0 (LWP 1558) 0x004f8424 in __kernel_vsyscall () Thread 5 (Thread 0xb76afb70 (LWP 1559)): #0 0x004f8424 in __kernel_vsyscall () #1 0x00b0439b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x08230c5a in GC_wait_marker () at pthread_support.c:1863 #3 0x0822b285 in GC_help_marker (my_mark_no=2) at mark.c:1116 #4 0x0822fbea in GC_mark_thread (id=0x0) at pthread_support.c:552 #5 0x00affe99 in start_thread () from /lib/libpthread.so.0 #6 0x00a45d2e in clone () from /lib/libc.so.6 Thread 4 (Thread 0xb6eaeb70 (LWP 1560)): #0 0x004f8424 in __kernel_vsyscall () #1 0x00b0439b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x08230c5a in GC_wait_marker () at pthread_support.c:1863 #3 0x0822b285 in GC_help_marker (my_mark_no=2) at mark.c:1116 #4 0x0822fbea in GC_mark_thread (id=0x1) at pthread_support.c:552 #5 0x00affe99 in start_thread () from /lib/libpthread.so.0 #6 0x00a45d2e in clone () from /lib/libc.so.6 Thread 3 (Thread 0xb66adb70 (LWP 1561)): #0 0x004f8424 in __kernel_vsyscall () #1 0x00b0439b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x08230c5a in GC_wait_marker () at pthread_support.c:1863 #3 0x0822b285 in GC_help_marker (my_mark_no=2) at mark.c:1116 #4 0x0822fbea in GC_mark_thread (id=0x2) at pthread_support.c:552 #5 0x00affe99 in start_thread () from /lib/libpthread.so.0 #6 0x00a45d2e in clone () from /lib/libc.so.6 Thread 2 (Thread 0xb5bd0b70 (LWP 1562)): #0 0x004f8424 in __kernel_vsyscall () #1 0x00b06765 in sem_wait@@GLIBC_2.1 () from /lib/libpthread.so.0 #2 0x08213878 in mono_sem_wait (sem=0x82f6bd8, alertable=1) at mono-semaphore.c:113 #3 0x0815746e in finalizer_thread (unused=0x0) at gc.c:1072 #4 0x081e0c6e in start_wrapper_internal (data=0x9909bf0) at threads.c:772 #5 start_wrapper (data=0x9909bf0) at threads.c:820 #6 0x0820dd2a in thread_start_routine (args=0x98e4584) at wthreads.c:285 #7 0x082308f7 in GC_start_routine (arg=0x60fe0) at pthread_support.c:1468 #8 0x00affe99 in start_thread () from /lib/libpthread.so.0 #9 0x00a45d2e in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb78b06e0 (LWP 1558)): #0 0x004f8424 in __kernel_vsyscall () #1 0x00b073fb in read () from /lib/libpthread.so.0 #2 0x080e1955 in mono_handle_native_sigsegv (signal=11, ctx=0xb78c7d0c) at mini-exceptions.c:2211 #3 0x0812738b in mono_arch_handle_altstack_exception (sigctx=0xb78c7d0c, fault_addr=0x7, stack_ovf=0) at exceptions-x86.c:1140 #4 0x0805d271 in mono_sigsegv_signal_handler (_dummy=11, info=0xb78c7c8c, context=0xb78c7d0c) at mini.c:5852 #5 <signal handler called> #6 fieldref_encode_signature (assembly=0x72000, field_image=0x991a6d8, type=0x0) at reflection.c:1677 #7 0x081bb2bd in mono_image_get_fieldref_token (assembly=0x72000, f=0x64fe0, field=0x991acec) at reflection.c:2750 #8 0x081c4926 in mono_image_create_token (assembly=0x72000, obj=0x64fe0, create_open_instance=1, register_token=1) at reflection.c:5005 #9 0x0815e87f in ves_icall_ModuleBuilder_getToken (mb=0x69f80, obj=0x64fe0, create_open_instance=1) at icall.c:1189 #10 0x007afc5e in ?? () #11 0x00dd1a96 in System.Reflection.Emit.ModuleBuilder:GetToken (this=..., member=..., create_open_instance=true) at /home/mapperso/Projects/mono/mono/mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs:680 #12 0x00dd2c0c in System.Reflection.Emit.ModuleBuilderTokenGenerator:GetToken (this=..., member=..., create_open_instance=true) at /home/mapperso/Projects/mono/mono/mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs:938 #13 0x00dc7f40 in System.Reflection.Emit.ILGenerator:Emit (this=..., opcode=169049087, field=...) at /home/mapperso/Projects/mono/mono/mcs/class/corlib/System.Reflection.Emit/ILGenerator.cs:552 #14 0x007ade92 in ?? () #15 0x007adf9d in ?? () #16 0x08061f28 in mono_jit_runtime_invoke (method="GetMetadataToken.MainClass:Main ()", obj=0x0, params=0xbfdc9e4c, exc=0x0) at mini.c:5734 #17 0x081abc9e in mono_runtime_invoke (method="GetMetadataToken.MainClass:Main ()", obj=0x0, params=0xbfdc9e4c, exc=0x0) at object.c:2752 #18 0x081aea68 in mono_runtime_exec_main (method="GetMetadataToken.MainClass:Main ()", args=0x3be00, exc=0x0) at object.c:3935 #19 0x080bbc1f in main_thread_handler (argc=2, argv=0xbfdca034) at driver.c:1003 #20 mono_main (argc=2, argv=0xbfdca034) at driver.c:1848 #21 0x08056f9e in mono_main_with_options (argc=2, argv=0xbfdca034) at main.c:66 #22 main (argc=2, argv=0xbfdca034) at main.c:97 ================================================================= 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. ================================================================= Aborted (core dumped) Expected Results: $ mono GetMetadataToken.exe get_MetadataToken succeeded -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
