[Mono-list] Complier Bug Prevents Compilation
"Andrés G. Aragoneses"
knocte at gmail.com
Tue Oct 7 16:18:33 EDT 2008
Charles Mason wrote:
> Hi All,
>
> I am trying to compile Ninject a C# based Inversion of Control
> container in Mono. The trunk version of the Ninject NAnt build script
> currently has mono disabled, enabling it produces the below error:
>
> [csc] Compiling 266 files to
> '/usr/src/monoSVN/ninject/trunk/bin/mono-2.0/debug/Ninject.Core.dll'.
> [csc] Exception caught by the compiler while compiling:
> [csc] Block that caused the problem begin at:
> /usr/src/monoSVN/ninject/trunk/src/Core/Activation/Strategies/FieldInjectionStrategy.cs(41,48):
> [csc] Block being compiled:
> [/usr/src/monoSVN/ninject/trunk/src/Core/Activation/Strategies/FieldInjectionStrategy.cs(42,17):,/usr/src/monoSVN/ninject/trunk/src/Core/Activation/Strategies/FieldInjectionStrategy.cs(73,17):]
> [csc] System.IndexOutOfRangeException: Array index is out of range.
> [csc] Internal compiler error at
> /usr/src/monoSVN/ninject/trunk/src/Core/Activation/Strategies/FieldInjectionStrategy.cs(41,48)::
> exception caught while emitting MethodBuilder
> [FieldInjectionStrategy::Initialize]
> [csc] Unhandled Exception: System.IndexOutOfRangeException:
> Array index is out of range.
> [csc] at Mono.CSharp.ConstraintChecker.CheckConstraint
> (IResolveContext ec, System.Type ptype, Mono.CSharp.Expression expr,
> System.Type ctype) [0x00000]
> [csc] at Mono.CSharp.ConstraintChecker.CheckConstraints
> (IResolveContext ec, Int32 index) [0x00000]
> [csc] at Mono.CSharp.ConstraintChecker.CheckConstraints
> (IResolveContext ec) [0x00000]
> [csc] at Mono.CSharp.ConstraintChecker.CheckConstraints
> (Mono.CSharp.EmitContext ec, System.Reflection.MethodBase definition,
> System.Reflection.MethodBase instantiated, Location loc) [0x00000]
> [csc] at Mono.CSharp.MethodGroupExpr.OverloadResolve
> (Mono.CSharp.EmitContext ec, System.Collections.ArrayList& Arguments,
> Boolean may_fail, Location loc) [0x00000]
> [csc] at Mono.CSharp.Invocation.DoResolveOverload
> (Mono.CSharp.EmitContext ec) [0x00000]
> [csc] at Mono.CSharp.Invocation.DoResolve
> (Mono.CSharp.EmitContext ec) [0x00000]
> [csc] at Mono.CSharp.Expression.Resolve
> (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00000]
> [csc] at Mono.CSharp.Expression.Resolve
> (Mono.CSharp.EmitContext ec) [0x00000]
> [csc] at Mono.CSharp.Assign.DoResolve (Mono.CSharp.EmitContext
> ec) [0x00000]
> [csc] at Mono.CSharp.SimpleAssign.DoResolve
> (Mono.CSharp.EmitContext ec) [0x00000]
> [csc] at Mono.CSharp.Expression.Resolve
> (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00000]
> [csc] at Mono.CSharp.Expression.Resolve
> (Mono.CSharp.EmitContext ec) [0x00000]
> [csc] at Mono.CSharp.ExpressionStatement.ResolveStatement
> (Mono.CSharp.EmitContext ec) [0x00000]
> [csc] at Mono.CSharp.StatementExpression.Resolve
> (Mono.CSharp.EmitContext ec) [0x00000]
> [csc] at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext
> ec) [0x00000]
> [csc] at Mono.CSharp.ExplicitBlock.Resolve
> (Mono.CSharp.EmitContext ec) [0x00000]
> [csc] at Mono.CSharp.EmitContext.ResolveTopBlock
> (Mono.CSharp.EmitContext anonymous_method_host,
> Mono.CSharp.ToplevelBlock block, Mono.CSharp.Parameters ip,
> IMethodData md, System.Boolean& unreachable) [0x00000]
>
> The same error is produced building it via Mono Develop so its not
> related to NAnt. This appears to be a bug in the complier itself.
>
>>From what I can tell its having trouble with a rather harmless looking
> method declaration:
>
> public override StrategyResult Initialize(IContext context)
>
>
> I am sure internally its a lot more complicated. I would really like
> to find a work around so I can get the code to compile on existing
> mono installations. Is this a known problem?
>
> Any suggestions would be greatly appreciated.
>
Could you please try to isolate the problem and attach a testcase in a bug:
http://www.mono-project.com/Bugs
Regards,
Andrés
--
More information about the Mono-list
mailing list