https://bugzilla.novell.com/show_bug.cgi?id=400716
Summary: Runtime crash with generics nested IEnumerable iteration Product: Mono: Runtime Version: SVN Platform: x86-64 OS/Version: openSUSE 11.0 Status: NEW Severity: Normal Priority: P5 - None Component: generics AssignedTo: mono-bugs@lists.ximian.com ReportedBy: [EMAIL PROTECTED] QAContact: mono-bugs@lists.ximian.com Found By: --- Steps to reproduce: 1. Compile the attached program: gmcs crash.cs 2. Run the resulting program: mono crash.exe Expected result: b c d a a e f g Actual result: $ mono crash.exe System.Array.InternalEnumerator<System.Char[]> doesn't implement interface System.Collections.Generic.IEnumerator<System.Collections.Generic.IEnumerable<System.Char>> ** ** ERROR:(mini-trampolines.c:67):mono_convert_imt_slot_to_vtable_slot: code should not be reached Stacktrace: at <>c__CompilerGenerated0`1.MoveNext () <0xffffffff> at <>c__CompilerGenerated0`1.MoveNext () <0x0010e> at <>c__CompilerGenerated1`1.MoveNext () <0x005f8> at Crash.Test.Main () <0x001ce> at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: mono [0x55e5b1] /lib64/libpthread.so.0 [0x7fbd5f820b30] /lib64/libc.so.6(gsignal+0x35) [0x7fbd5f2955c5] /lib64/libc.so.6(abort+0x183) [0x7fbd5f296bb3] /usr/lib64/libglib-2.0.so.0(g_assertion_message+0x117) [0x7fbd600c32a7] mono [0x426870] mono [0x426d53] [0x41898165] Debug info from gdb: [Thread debugging using libthread_db enabled] [New Thread 0x7fbd60723730 (LWP 6976)] [New Thread 0x4202d950 (LWP 6978)] [New Thread 0x41ce6950 (LWP 6977)] 0x00007fbd5f81f90b in read () from /lib64/libpthread.so.0 3 Thread 0x41ce6950 (LWP 6977) 0x00007fbd5f820251 in nanosleep () from /lib64/libpthread.so.0 2 Thread 0x4202d950 (LWP 6978) 0x00007fbd5f81cdd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 1 Thread 0x7fbd60723730 (LWP 6976) 0x00007fbd5f81f90b in read () from /lib64/libpthread.so.0 Thread 3 (Thread 0x41ce6950 (LWP 6977)): #0 0x00007fbd5f820251 in nanosleep () from /lib64/libpthread.so.0 #1 0x00000000004f01f2 in collection_thread (unused=<value optimized out>) at collection.c:34 #2 0x00007fbd5f819040 in start_thread () from /lib64/libpthread.so.0 #3 0x00007fbd5f3360cd in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x4202d950 (LWP 6978)): #0 0x00007fbd5f81cdd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000000004fc7a5 in timedwait_signal_poll_cond (cond=0x8c46a8, mutex=0x8c4680, timeout=0x1, alertable=-1) at handles.c:1492 #2 0x00000000004feedf in _wapi_handle_timedwait_signal_handle ( handle=<value optimized out>, timeout=0x0, alertable=9193088) at handles.c:1572 #3 0x00000000004ffc9e in WaitForSingleObjectEx (handle=0x404, timeout=4294967295, alertable=0) at wait.c:200 #4 0x000000000048c8e3 in finalizer_thread (unused=<value optimized out>) at gc.c:905 #5 0x00000000004b83e3 in start_wrapper (data=<value optimized out>) at threads.c:621 #6 0x000000000050aa0b in thread_start_routine (args=0x8c49d8) at threadsc:279 #7 0x000000000051e872 in GC_start_routine (arg=<value optimized out>) at pthread_support.c:1369 #8 0x00007fbd5f819040 in start_thread () from /lib64/libpthread.so.0 #9 0x00007fbd5f3360cd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7fbd60723730 (LWP 6976)): #0 0x00007fbd5f81f90b in read () from /lib64/libpthread.so.0 #1 0x000000000055e71c in mono_handle_native_sigsegv ( signal=<value optimized out>, ctx=<value optimized out>) at mini-exceptions.c:1182 #2 <signal handler called> #3 0x00007fbd5f2955c5 in raise () from /lib64/libc.so.6 #4 0x00007fbd5f296bb3 in abort () from /lib64/libc.so.6 #5 0x00007fbd600c32a7 in g_assertion_message () from /usr/lib64/libglib-2.0.so.0 #6 0x0000000000426870 in mono_convert_imt_slot_to_vtable_slot (slot=0x8f4b18, regs=<value optimized out>, code=<value optimized out>, method=<value optimized out>, impl_method=0x7fff68746fd0) at mini-trampolines.c:67 #7 0x0000000000426d53 in mono_magic_trampoline (regs=0x7fff687471e0, code=0x41cd492e "[EMAIL PROTECTED] [EMAIL PROTECTED]", m=0x918ae0, tramp=<value optimized out>) at mini-trampolines.c:152 #8 0x0000000041898165 in ?? () #9 0x00000000008f4390 in ?? () #10 0x00000000004267c6 in mono_convert_imt_slot_to_vtable_slot ( slot=0x7fbd60566f80, regs=<value optimized out>, code=<value optimized out>, method=<value optimized out>, impl_method=0x7fbd60566f80) at mini-trampolines.c:69 #11 0x0000000000426c29 in mono_magic_trampoline (regs=0x7fff68747280, code=0x41cd4319 "L\213�I\201��", m=0x973c00, tramp=<value optimized out>) at mini-trampolines.c:258 #12 0x0000000041898170 in ?? () #13 0x0000000000000000 in ?? () #0 0x00007fbd5f81f90b in read () from /lib64/libpthread.so.0 ================================================================= Got a SIGABRT 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 [EMAIL PROTECTED]:tmp$ mono crash.exe System.Array.InternalEnumerator<System.Char[]> doesn't implement interface System.Collections.Generic.IEnumerator<System.Collections.Generic.IEnumerable<System.Char>> ** ** ERROR:(mini-trampolines.c:67):mono_convert_imt_slot_to_vtable_slot: code should not be reached Stacktrace: at <>c__CompilerGenerated0`1.MoveNext () <0xffffffff> at <>c__CompilerGenerated0`1.MoveNext () <0x0010e> at <>c__CompilerGenerated1`1.MoveNext () <0x005f8> at Crash.Test.Main () <0x001ce> at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: mono [0x55e5b1] /lib64/libpthread.so.0 [0x7ff16c5fbb30] /lib64/libc.so.6(gsignal+0x35) [0x7ff16c0705c5] /lib64/libc.so.6(abort+0x183) [0x7ff16c071bb3] /usr/lib64/libglib-2.0.so.0(g_assertion_message+0x117) [0x7ff16ce9e2a7] mono [0x426870] mono [0x426d53] [0x41989165] Debug info from gdb: [Thread debugging using libthread_db enabled] [New Thread 0x7ff16d4fe730 (LWP 7110)] [New Thread 0x40ba3950 (LWP 7112)] [New Thread 0x41aea950 (LWP 7111)] 0x00007ff16c5fa90b in read () from /lib64/libpthread.so.0 3 Thread 0x41aea950 (LWP 7111) 0x00007ff16c5fb251 in nanosleep () from /lib64/libpthread.so.0 2 Thread 0x40ba3950 (LWP 7112) 0x00007ff16c5f7dd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 1 Thread 0x7ff16d4fe730 (LWP 7110) 0x00007ff16c5fa90b in read () from /lib64/libpthread.so.0 Thread 3 (Thread 0x41aea950 (LWP 7111)): #0 0x00007ff16c5fb251 in nanosleep () from /lib64/libpthread.so.0 #1 0x00000000004f01f2 in collection_thread (unused=<value optimized out>) at collection.c:34 #2 0x00007ff16c5f4040 in start_thread () from /lib64/libpthread.so.0 #3 0x00007ff16c1110cd in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x40ba3950 (LWP 7112)): #0 0x00007ff16c5f7dd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000000004fc7a5 in timedwait_signal_poll_cond (cond=0x8c46a8, mutex=0x8c4680, timeout=0x1, alertable=-1) at handles.c:1492 #2 0x00000000004feedf in _wapi_handle_timedwait_signal_handle (handle=<value optimized out>, timeout=0x0, alertable=9193088) at handles.c:1572 #3 0x00000000004ffc9e in WaitForSingleObjectEx (handle=0x404, timeout=4294967295, alertable=0) at wait.c:200 #4 0x000000000048c8e3 in finalizer_thread (unused=<value optimized out>) at gc.c:905 #5 0x00000000004b83e3 in start_wrapper (data=<value optimized out>) at threads.c:621 #6 0x000000000050aa0b in thread_start_routine (args=0x8c49d8) at threadsc:279 #7 0x000000000051e872 in GC_start_routine (arg=<value optimized out>) at pthread_support.c:1369 #8 0x00007ff16c5f4040 in start_thread () from /lib64/libpthread.so.0 #9 0x00007ff16c1110cd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7ff16d4fe730 (LWP 7110)): #0 0x00007ff16c5fa90b in read () from /lib64/libpthread.so.0 #1 0x000000000055e71c in mono_handle_native_sigsegv (signal=<value optimized out>, ctx=<value optimized out>) at mini-exceptions.c:1182 #2 <signal handler called> #3 0x00007ff16c0705c5 in raise () from /lib64/libc.so.6 #4 0x00007ff16c071bb3 in abort () from /lib64/libc.so.6 #5 0x00007ff16ce9e2a7 in g_assertion_message () from /usr/lib64/libglib-2.0.so.0 #6 0x0000000000426870 in mono_convert_imt_slot_to_vtable_slot (slot=0x8f4b18, regs=<value optimized out>, code=<value optimized out>, method=<value optimized out>, impl_method=0x7fff75523830) at mini-trampolines.c:67 #7 0x0000000000426d53 in mono_magic_trampoline (regs=0x7fff75523a40, code=0x41ad892e "[EMAIL PROTECTED] [EMAIL PROTECTED]", m=0x918ae0, tramp=<value optimized out>) at mini-trampolines.c:152 #8 0x0000000041989165 in ?? () #9 0x00000000008f4390 in ?? () #10 0x00000000004267c6 in mono_convert_imt_slot_to_vtable_slot (slot=0x7ff16d341f80, regs=<value optimized out>, code=<value optimized out>, method=<value optimized out>, impl_method=0x7ff16d341f80) at mini-trampolines.c:69 #11 0x0000000000426c29 in mono_magic_trampoline (regs=0x7fff75523ae0, code=0x41ad8319 "L\213�I\201��", m=0x973c00, tramp=<value optimized out>) at mini-trampolines.c:258 #12 0x0000000041989170 in ?? () #13 0x0000000000000000 in ?? () #0 0x00007ff16c5fa90b in read () from /lib64/libpthread.so.0 ================================================================= Got a SIGABRT 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 -- 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 - mono-bugs@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-bugs