[Mono-bugs] [Bug 400716] New: Runtime crash with generics nested IEnumerable iteration
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon Jun 16 21:20:42 EDT 2008
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 at lists.ximian.com
ReportedBy: jpryor at novell.com
QAContact: mono-bugs at 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
"L\213�M\211w\030H\213\205x���H\017�@0\205�t6H\213\205x���H\213�H\213I\030H\211H
H\213\205x����@4\001", 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
jon at lina: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
"L\213�M\211w\030H\213\205x���H\017�@0\205�t6H\213\205x���H\213�H\213I\030H\211H
H\213\205x����@4\001", 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.
More information about the mono-bugs
mailing list