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 [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=82625 --- shadow/82625 2007-08-29 10:23:36.000000000 -0400 +++ shadow/82625.tmp.582 2007-08-29 10:23:36.000000000 -0400 @@ -0,0 +1,115 @@ +Bug#: 82625 +Product: Mono: Runtime +Version: 1.2 +OS: +OS Details: +Status: NEW +Resolution: +Severity: +Priority: Normal +Component: misc +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: Crash in System.MonoType.GetFields_internal + +Please fill in this template when reporting a bug, unless you know what you +are doing. +Description of Problem: +During extensive use of System.Reflection.Emit API the method for fetching +fields fails. + +Steps to reproduce the problem: +1. Download Nemerle snapshot +http://nemerle.org/download/snapshots/nemerle-0.9.3.99.7754.tar.gz +2. Do ./configure +3. make + +Actual Results: +make[3]: Entering directory `/home/users/nemweb/nemerle-0.9.3.99.7754/ncc' +COMPILE [stage1] Nemerle.dll +___________................................................. +** ERROR **: file metadata.c: line 950 (mono_metadata_decode_row): +assertion failed: (res_size == count) +aborting... +Stacktrace: + + at (wrapper managed-to-native) System.MonoType.GetFields_internal +(System.Reflection.BindingFlags,System.Type) <0x00004> + at (wrapper managed-to-native) System.MonoType.GetFields_internal +(System.Reflection.BindingFlags,System.Type) <0xffffffff> + at System.MonoType.GetFields (System.Reflection.BindingFlags) <0x00010> + at System.Reflection.Emit.TypeBuilder.GetFields +(System.Reflection.BindingFlags) <0x00024> + at System.Reflection.MonoGenericClass.initialize () <0x00080> + at System.Reflection.MonoGenericClass.GetField +(System.Reflection.FieldInfo) <0x0000d> + at System.Reflection.Emit.TypeBuilder.GetField +(System.Type,System.Reflection.FieldInfo) <0x00015> + at Nemerle.Compiler.ILEmitter.FrameworkGetField +(System.Type,System.Reflection.FieldInfo) <0x000c3> + at Nemerle.Compiler.ILEmitter.GetFieldInfo +(System.Type,Nemerle.Compiler.IField) <0x00040> + at Nemerle.Compiler.ILEmitter.GetFieldInfo +(Nemerle.Compiler.Typedtree.TExpr,Nemerle.Compiler.IField) <0x00049> + at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr) +<0x03dc8> + at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr) +<0x028c2> + at Nemerle.Compiler.ILEmitter.emit_parms (Nemerle.Core.list`1) <0x00092> + at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr) +<0x06ad4> + at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr) +<0x0253e> + at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr) +<0x028c2> + at Nemerle.Compiler.ILEmitter.Run () <0x00186> + at _N__N_l40953_41062.apply_void () <0x0009d> + at Nemerle.Compiler.TypeBuilder.FinalizeType () <0x000a6> + at Nemerle.Compiler.TypeBuilder.EmitImplementation () <0x0019e> + at _N_emit_impl_34328.apply_void (Nemerle.Compiler.TypeBuilder) <0x0004c> + at _N_maybe_f_34948.apply_void (Nemerle.Compiler.TypeBuilder) <0x001ed> + at Nemerle.Collections.List.Iter +(Nemerle.Core.list`1,Nemerle.Builtins.FunctionVoid`1) <0x0008a> + at Nemerle.Core.list`1.Iter (Nemerle.Builtins.FunctionVoid`1) <0x0000d> + at Nemerle.Compiler.TypesManager.Iter +(Nemerle.Core.list`1,Nemerle.Builtins.FunctionVoid`1) <0x0008a> + at Nemerle.Compiler.TypesManager.Iter (Nemerle.Builtins.FunctionVoid`1) +<0x00026> + at Nemerle.Compiler.TypesManager.compile_all_tyinfos (bool) <0x001a1> + at _N__N_l33755_33853.apply_void () <0x0001b> + at Nemerle.Compiler.Solver.Enqueue (Nemerle.Builtins.FunctionVoid) <0x0003b> + at Nemerle.Compiler.TypesManager.EmitDecls () <0x0004f> + at Nemerle.Compiler.ManagerClass.Run () <0x0022f> + at Nemerle.CommandlineCompiler.MainClass.main_with_catching () <0x000e9> + at Nemerle.CommandlineCompiler.MainClass.Main () <0x0011b> + at (wrapper runtime-invoke) +Nemerle.CommandlineCompiler.MainClass.runtime_invoke_void +(object,intptr,intptr,intptr) <0xffffffff> + +Native stacktrace: + + /usr/bin/mono [0x81681c0] + [0xffffe440] + /lib/tls/libc.so.6(abort+0x18c) [0x400fe75c] + /usr/lib/libglib-2.0.so.0 [0x40047c5d] + /usr/lib/libglib-2.0.so.0(g_log+0x26) [0x40047c86] + /usr/bin/mono(mono_metadata_decode_row+0x70) [0x80eff90] + /usr/bin/mono [0x80ffd68] + /usr/bin/mono [0x81002b5] + /usr/bin/mono(mono_class_get_fields+0x20) [0x81002e0] + /usr/bin/mono [0x80a27f2] + + +Expected Results: +Should compile cleanly + +How often does this happen? +Always + +Additional Information: +It is a regression in 1.2.5 (or possible 1.2.4). In 1.2.3 it worked +perfectly fine. It also compiles fine on MS.NET 2.0 _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
