[Mono-bugs] [Bug 555464] reflection.c:2609:get_field_on_inst_generic_type: assertion

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sun Nov 22 10:10:30 EST 2009


http://bugzilla.novell.com/show_bug.cgi?id=555464

http://bugzilla.novell.com/show_bug.cgi?id=555464#c3


--- Comment #3 from Basile Starynkevitch <basile at starynkevitch.net> 2009-11-22 15:10:26 UTC ---
(In reply to comment #2)

The bug still happens with
  % mono -V
Mono JIT compiler version 2.7 (/trunk/mono r146684 Sun Nov 22 10:21:03 MET
2009)
Copyright (C) 2002-2009 Novell, Inc and Contributors. www.mono-project.com
    TLS:           __thread
    GC:            Included Boehm (with typed GC and Parallel Mark)
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
and
URL: http://nemerle.googlecode.com/svn/nemerle/trunk
Repository Root: http://nemerle.googlecode.com/svn
Repository UUID: c8a6711f-211a-0410-a8d5-2f220496d6d1
Revision: 8438
Node Kind: directory
Schedule: normal
Last Changed Author: vc at rsdn.ru
Last Changed Rev: 8438
Last Changed Date: 2009-11-20 19:40:57 +0100 (Fri, 20 Nov 2009)

Of course, the line number changed slightly:
 Entering directory `/usr/src/Lang/nemerle/ncc'
COMPILE [stage1] Nemerle.dll
**_____________________________________.....................
ERROR:reflection.c:2612:get_field_on_inst_generic_type: assertion failed:
(field_index >= 0 && field_index < dgclass->count_fields)
Stacktrace:

  at (wrapper managed-to-native) System.MonoType.GetField
(System.MonoType*,string,System.Reflection.BindingFlags) <0x00051>
  at (wrapper managed-to-native) System.MonoType.GetField
(System.MonoType*,string,System.Reflection.BindingFlags) <0x00051>
  at System.MonoType.GetField (System.Reflection.FieldInfo) <0x00088>
  at System.Reflection.Emit.TypeBuilder.GetField
(System.Type,System.Reflection.FieldInfo) <0x0001b>
  at Nemerle.Compiler.ILEmitter.FrameworkGetField
(System.Type,System.Reflection.FieldInfo) <0x000e7>
  at Nemerle.Compiler.ILEmitter.GetFieldInfo
(System.Type,Nemerle.Compiler.IField) <0x0004b>
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr)
<0x05f47>
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr)
<0x047a3>
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr)
<0x01c7b>
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr)
<0x01e97>
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr)
<0x01e97>
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr)
<0x03c73>
  at Nemerle.Compiler.ILEmitter.Run () <0x00133>
  at Nemerle.Compiler.MethodBuilder/_N__N_lambda__59337__59458.apply_void ()
<0x000cb>
  at Nemerle.Compiler.TypeBuilder.FinalizeType () <0x000cd>
  at Nemerle.Compiler.TypeBuilder.EmitImplementation () <0x0021f>
  at Nemerle.Compiler.TypesManager/_N_emit_impl__52700.apply_void
(Nemerle.Compiler.TypeBuilder) <0x0005b>
  at Nemerle.Compiler.TypesManager/_N_maybe_f__53272.apply_void
(Nemerle.Compiler.TypeBuilder) <0x00196>
  at Nemerle.Collections.NList.Iter<object>
(Nemerle.Core.list`1<object>,Nemerle.Builtins.FunctionVoid`1<object>) <0x000bf>
  at Nemerle.Core.list`1<object>.Iter (Nemerle.Builtins.FunctionVoid`1<object>)
<0x00033>
  at Nemerle.Compiler.TypesManager.Iter
(Nemerle.Core.list`1<Nemerle.Compiler.TypeBuilder>,Nemerle.Builtins.FunctionVoid`1<Nemerle.Compiler.TypeBuilder>)
<0x00097>
  at Nemerle.Compiler.TypesManager.Iter
(Nemerle.Builtins.FunctionVoid`1<Nemerle.Compiler.TypeBuilder>) <0x0002f>
  at Nemerle.Compiler.TypesManager.compile_all_tyinfos (bool) <0x001b7>
  at Nemerle.Compiler.TypesManager/_N__N_lambda__52140__52243.apply_void ()
<0x00034>
  at Nemerle.Compiler.Solver.Enqueue (Nemerle.Builtins.FunctionVoid) <0x0004c>
  at Nemerle.Compiler.TypesManager.EmitDecls () <0x00063>
  at Nemerle.Compiler.ManagerClass.Run () <0x005d3>
  at Nemerle.CommandlineCompiler.MainClass.main_with_catching () <0x0015f>
  at Nemerle.CommandlineCompiler.MainClass.Main () <0x001f7>
  at (wrapper runtime-invoke) object.runtime_invoke_void
(object,intptr,intptr,intptr) <0x00049>

Native stacktrace:

    /usr/local/bin//mono [0x488536]
    /lib/libpthread.so.0 [0x2addd0025990]
    /lib/libc.so.6(gsignal+0x35) [0x2addd04e7f25]
    /lib/libc.so.6(abort+0x180) [0x2addd04ead60]
    /lib/libglib-2.0.so.0(g_assertion_message+0x100) [0x2addcf9a5ad0]
    /lib/libglib-2.0.so.0 [0x2addcf9a6052]
    /usr/local/bin//mono [0x56e33c]
    /usr/local/bin//mono(mono_field_get_object+0x165) [0x57c1a5]
    /usr/local/bin//mono [0x4e4674]
    [0x41a3d001]

Debug info from gdb:

Mono support loaded.
[Thread debugging using libthread_db enabled]
[New Thread 0x2aaaac227910 (LWP 24618)]
[New Thread 0x2aaaabfc6910 (LWP 24617)]
[New Thread 0x2aaaab0ae910 (LWP 24616)]
[New Thread 0x2aaaaaead910 (LWP 24615)]
[New Thread 0x2aaaaacac910 (LWP 24614)]
0x00002addd002490b in read () from /lib/libpthread.so.0
  6 Thread 0x2aaaaacac910 (LWP 24614)  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
  5 Thread 0x2aaaaaead910 (LWP 24615)  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
  4 Thread 0x2aaaab0ae910 (LWP 24616)  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
  3 Thread 0x2aaaabfc6910 (LWP 24617)  0x00002addd0025131 in nanosleep () from
/lib/libpthread.so.0
  2 Thread 0x2aaaac227910 (LWP 24618)  sem_wait () at
./nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
* 1 Thread 0x2addd0a390b0 (LWP 24613)  0x00002addd002490b in read () from
/lib/libpthread.so.0

Thread 6 (Thread 0x2aaaaacac910 (LWP 24614)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00000000005b49a3 in GC_wait_marker () at pthread_support.c:1785
#2  0x00000000005b6724 in GC_help_marker (my_mark_no=57) at mark.c:1116
#3  0x00000000005b36f0 in GC_mark_thread (id=0x0) at pthread_support.c:548
#4  0x00002addd001d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#5  0x00002addd05812fd in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x2aaaaaead910 (LWP 24615)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00000000005b49a3 in GC_wait_marker () at pthread_support.c:1785
#2  0x00000000005b6724 in GC_help_marker (my_mark_no=57) at mark.c:1116
#3  0x00000000005b36f0 in GC_mark_thread (id=0x1) at pthread_support.c:548
#4  0x00002addd001d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#5  0x00002addd05812fd in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()
Current language:  auto
The current source language is "auto; currently asm".

Thread 4 (Thread 0x2aaaab0ae910 (LWP 24616)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00000000005b49a3 in GC_wait_marker () at pthread_support.c:1785
#2  0x00000000005b6724 in GC_help_marker (my_mark_no=57) at mark.c:1116
#3  0x00000000005b36f0 in GC_mark_thread (id=0x2) at pthread_support.c:548
#4  0x00002addd001d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#5  0x00002addd05812fd in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x2aaaabfc6910 (LWP 24617)):
#0  0x00002addd0025131 in nanosleep () from /lib/libpthread.so.0
#1  0x00000000005a72a2 in collection_thread (unused=<value optimized out>) at
collection.c:34
#2  0x00002addd001d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#3  0x00002addd05812fd in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x2aaaac227910 (LWP 24618)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x000000000056d290 in finalizer_thread (unused=<value optimized out>) at
gc.c:1022
#2  0x00000000004ee795 in start_wrapper (data=<value optimized out>) at
threads.c:721
#3  0x00000000005a1833 in thread_start_routine (args=0xfcc970) at
wthreads.c:286
#4  0x00000000005b4636 in GC_start_routine (arg=0x2aaaab0d4e70) at
pthread_support.c:1390
#5  0x00002addd001d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#6  0x00002addd05812fd in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()
Current language:  auto
The current source language is "auto; currently c".

Thread 1 (Thread 0x2addd0a390b0 (LWP 24613)):
#0  0x00002addd002490b in read () from /lib/libpthread.so.0
#1  0x000000000048869b in mono_handle_native_sigsegv (signal=<value optimized
out>, ctx=<value optimized out>) at mini-exceptions.c:1808
#2  <signal handler called>
#3  0x00002addd04e7f25 in *__GI_raise (sig=<value optimized out>) at
./nptl/sysdeps/unix/sysv/linux/raise.c:64
#4  0x00002addd04ead60 in *__GI_abort () at abort.c:88
#5  0x00002addcf9a5ad0 in IA__g_assertion_message (domain=0x2addcf9e351e "",
file=0x5d81bc "reflection.c", line=<value optimized out>, func=0x676df0
"get_field_on_inst_generic_type", 
    message=<value optimized out>) at
/tmp/buildd/glib2.0-2.22.2/glib/gtestutils.c:1302
#6  0x00002addcf9a6052 in IA__g_assertion_message_expr (domain=0x0,
file=0x5d81bc "reflection.c", line=2612, func=0x676df0
"get_field_on_inst_generic_type", 
    expr=<value optimized out>) at
/tmp/buildd/glib2.0-2.22.2/glib/gtestutils.c:1313
#7  0x000000000056e33c in get_field_on_inst_generic_type (field=<value
optimized out>) at reflection.c:2612
#8  0x000000000057c1a5 in mono_field_get_object (domain=0x2aaaab0d3db0,
klass="Nil", field=0x2aaab0e871a8) at reflection.c:6447
#9  0x00000000004e4674 in ves_icall_Type_GetField (type=<value optimized out>,
name=0x2aaaac897240, bflags=24) at icall.c:3302
#10 0x0000000041a3d001 in ?? ()
#11 0x0000000000f8ee60 in ?? ()
#12 0x00002aaaaef71f80 in ?? ()
#13 0x00007fff42d1fde0 in ?? ()
#14 0x0000000000000000 in ?? ()
Current language:  auto
The current source language is "auto; currently asm".
Current language:  auto
The current source language is "auto; currently c".

=================================================================
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.
=================================================================

Command terminated by signal 6

-- 
Configure bugmail: http://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