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=80242 --- shadow/80242 2006-12-12 12:37:02.000000000 -0500 +++ shadow/80242.tmp.13214 2006-12-12 12:37:02.000000000 -0500 @@ -0,0 +1,89 @@ +Bug#: 80242 +Product: Mono: Compilers +Version: 1.2 +OS: +OS Details: +Status: NEW +Resolution: +Severity: +Priority: Normal +Component: C# +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: gmcs crash with interface-rooted class hierarchy in generic class + +Please fill in this template when reporting a bug, unless you know what you +are doing. +Description of Problem: + +Crash in the gmcs compiler, when referencing a generic class containing an +interface-rooted class hierarchy: + +public class OptionHandler<T> +{ + interface IOptionHandler { } + class OptionHandlerBase : IOptionHandler { } + class OptionHandlerWithArgument : OptionHandlerBase { } +} + +The compilation appears to succeed, but then trying to build another +assembly which references that type crashes with + +** ERROR **: file class.c: line 2444 (mono_class_init): assertion failed: +(class->interface_count == gklass->interface_count) + +If both the definition and the reference are in the same assembly +everything is fine. + +Steps to reproduce the problem: +1. Create a file one.cs containing + +// start of one.cs +class Program { + static void Main() { } +} + +public class OptionHandler<T> +{ + interface IOptionHandler { } + class OptionHandlerBase : IOptionHandler { } + class OptionHandlerWithArgument : OptionHandlerBase { } +} +// end of one.cs + +and a file two.cs containing + +// start of two.cs +public class TestCmdLine +{ + public static void Main() { + new OptionHandler<object>(); + } +} +// end of two.cs + +2. gmcs /target:library one.cs +3. gmcs /reference:one.dll two.cs + +Actual Results: + +popup dialog box at step 3, containing the text ** ERROR **: file class.c: +line 2444 (mono_class_init): assertion failed: (class->interface_count == +gklass->interface_count) + +Expected Results: + +Successful compilation. + +How often does this happen? + +Every time. + +Additional Information: + +I first hit this with 1.1.18, but I've now upgraded to 1.2.2.1 and it's +still failing. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
