[Mono-bugs] [Bug 360796] Internal compiler error with large methods

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sun Mar 23 14:23:20 EDT 2008


https://bugzilla.novell.com/show_bug.cgi?id=360796

User jmoon5ftm+novell at gmail.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=360796#c7


sir moon <jmoon5ftm+novell at gmail.com> changed:

           What    |Removed                                         |Added
----------------------------------------------------------------------------
                 CC|                                                |jmoon5ftm+novell at gmail.com
            Version|SVN                                             |1.2.0




--- Comment #7 from sir moon <jmoon5ftm+novell at gmail.com>  2008-03-23 12:23:18 MST ---
i'm getting the same error message, with the same stack trace, on windows v1.9,
but the error is ocurring at the method declaration itself, so i don't think i
can work around it like he can.  this is not a very large method itself, so i
agree the description is probably on the wrong track, but the program is very
complicated and makes a lot of use of extension methods and such, so i'm not
sure how much would be required to reproduce this.  i will try to acquire and
run the "delta" program soon and let you know what i come up with.

Internal compiler error at .\Library.cs(224,35):: exception caught while
emitting MethodBuilder [Fil
eLibrary::GetIncompleteFileDesc]

Unhandled Exception: Mono.CSharp.InternalErrorException: Helper class already
defined!
  at Mono.CSharp.CompilerGeneratedClass.CheckMembersDefined () [0x00016] in
C:\cygwin\tmp\monobuild\
build\BUILD\mono-1.9\mcs\mcs\anonymous.cs:175
  at Mono.CSharp.RootScopeInfo.CaptureThis () [0x00017] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-
1.9\mcs\mcs\anonymous.cs:846
  at Mono.CSharp.This.ResolveBase (Mono.CSharp.EmitContext ec) [0x00112] in
C:\cygwin\tmp\monobuild\
build\BUILD\mono-1.9\mcs\mcs\expression.cs:6129
  at Mono.CSharp.This.DoResolve (Mono.CSharp.EmitContext ec) [0x00000] in
C:\cygwin\tmp\monobuild\bu
ild\BUILD\mono-1.9\mcs\mcs\expression.cs:6164
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags
flags) [0x00067] in C:
\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:472
  at Mono.CSharp.FieldExpr.DoResolve (Mono.CSharp.EmitContext ec, Boolean
lvalue_instance, Boolean o
ut_access) [0x00083] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:4532
  at Mono.CSharp.FieldExpr.DoResolve (Mono.CSharp.EmitContext ec) [0x00000] in
C:\cygwin\tmp\monobui
ld\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:4505
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags
flags) [0x00067] in C:
\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:472
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in
C:\cygwin\tmp\monobuil
d\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:499
  at Mono.CSharp.ArrayCreation.ResolveArrayElement (Mono.CSharp.EmitContext ec,
Mono.CSharp.Expressi
on element) [0x00000] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\expression.cs:5474
  at Mono.CSharp.ArrayCreation.CheckIndices (Mono.CSharp.EmitContext ec,
System.Collections.ArrayLis
t probe, Int32 idx, Boolean specified_dims) [0x00155] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-1.
9\mcs\mcs\expression.cs:5408
  at Mono.CSharp.ArrayCreation.ResolveInitializers (Mono.CSharp.EmitContext ec)
[0x00051] in C:\cygw
in\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\expression.cs:5500
  at Mono.CSharp.ArrayCreation.DoResolve (Mono.CSharp.EmitContext ec) [0x00056]
in C:\cygwin\tmp\mon
obuild\build\BUILD\mono-1.9\mcs\mcs\expression.cs:5564
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags
flags) [0x00067] in C:
\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:472
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in
C:\cygwin\tmp\monobuil
d\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:499
  at Mono.CSharp.MethodGroupExpr.VerifyArgumentsCompat (Mono.CSharp.EmitContext
ec, System.Collectio
ns.ArrayList& arguments, Int32 arg_count, System.Reflection.MethodBase method,
Boolean chose_params_
expanded, Boolean may_fail, Location loc) [0x001f4] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-1.9\
mcs\mcs\ecore.cs:4345
  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.EmitContext ec,
System.Collections.Arr
ayList& Arguments, Boolean may_fail, Location loc) [0x00807] in
C:\cygwin\tmp\monobuild\build\BUILD\
mono-1.9\mcs\mcs\ecore.cs:4223
  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.EmitContext ec)
[0x00000] in C:\cygwin\tm
p\monobuild\build\BUILD\mono-1.9\mcs\mcs\expression.cs:4402
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.EmitContext ec) [0x000d0] in
C:\cygwin\tmp\monobu
ild\build\BUILD\mono-1.9\mcs\mcs\expression.cs:4344
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags
flags) [0x00067] in C:
\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:472
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in
C:\cygwin\tmp\monobuil
d\build\BUILD\mono-1.9\mcs\mcs\ecore.cs:499
  at Mono.CSharp.StringConcat.Emit (Mono.CSharp.EmitContext ec) [0x00007] in
C:\cygwin\tmp\monobuild
\build\BUILD\mono-1.9\mcs\mcs\expression.cs:3245
  at Mono.CSharp.VariableReference.EmitAssign (Mono.CSharp.EmitContext ec,
Mono.CSharp.Expression so
urce, Boolean leave_copy, Boolean prepare_for_load) [0x00054] in
C:\cygwin\tmp\monobuild\build\BUILD
\mono-1.9\mcs\mcs\expression.cs:3715
  at Mono.CSharp.Assign.Emit (Mono.CSharp.EmitContext ec, Boolean is_statement)
[0x00082] in C:\cygw
in\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\assign.cs:577
  at Mono.CSharp.Assign.EmitStatement (Mono.CSharp.EmitContext ec) [0x00000] in
C:\cygwin\tmp\monobu
ild\build\BUILD\mono-1.9\mcs\mcs\assign.cs:593
  at Mono.CSharp.StatementExpression.DoEmit (Mono.CSharp.EmitContext ec)
[0x00000] in C:\cygwin\tmp\
monobuild\build\BUILD\mono-1.9\mcs\mcs\statement.cs:703
  at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in
C:\cygwin\tmp\monobuild\bu
ild\BUILD\mono-1.9\mcs\mcs\statement.cs:87
  at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00019] in
C:\cygwin\tmp\monobuild\buil
d\BUILD\mono-1.9\mcs\mcs\statement.cs:2278
  at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x000c7] in
C:\cygwin\tmp\monobuild\build\
BUILD\mono-1.9\mcs\mcs\statement.cs:2303
  at Mono.CSharp.While.DoEmit (Mono.CSharp.EmitContext ec) [0x00055] in
C:\cygwin\tmp\monobuild\buil
d\BUILD\mono-1.9\mcs\mcs\statement.cs:507
  at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in
C:\cygwin\tmp\monobuild\bu
ild\BUILD\mono-1.9\mcs\mcs\statement.cs:87
  at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00019] in
C:\cygwin\tmp\monobuild\buil
d\BUILD\mono-1.9\mcs\mcs\statement.cs:2278
  at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x000c7] in
C:\cygwin\tmp\monobuild\build\
BUILD\mono-1.9\mcs\mcs\statement.cs:2303
  at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00019] in
C:\cygwin\tmp\monobuild\buil
d\BUILD\mono-1.9\mcs\mcs\statement.cs:2278
  at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x000c7] in
C:\cygwin\tmp\monobuild\build\
BUILD\mono-1.9\mcs\mcs\statement.cs:2303
  at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00019] in
C:\cygwin\tmp\monobuild\buil
d\BUILD\mono-1.9\mcs\mcs\statement.cs:2278
  at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x000c7] in
C:\cygwin\tmp\monobuild\build\
BUILD\mono-1.9\mcs\mcs\statement.cs:2303
  at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00019] in
C:\cygwin\tmp\monobuild\buil
d\BUILD\mono-1.9\mcs\mcs\statement.cs:2278
  at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x000c7] in
C:\cygwin\tmp\monobuild\build\
BUILD\mono-1.9\mcs\mcs\statement.cs:2303
  at Mono.CSharp.Lock.DoEmit (Mono.CSharp.EmitContext ec) [0x00047] in
C:\cygwin\tmp\monobuild\build
\BUILD\mono-1.9\mcs\mcs\statement.cs:3801
  at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x0000d] in
C:\cygwin\tmp\monobuild\bu
ild\BUILD\mono-1.9\mcs\mcs\statement.cs:87
  at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00019] in
C:\cygwin\tmp\monobuild\buil
d\BUILD\mono-1.9\mcs\mcs\statement.cs:2278
  at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x000c7] in
C:\cygwin\tmp\monobuild\build\
BUILD\mono-1.9\mcs\mcs\statement.cs:2303
  at Mono.CSharp.EmitContext.EmitResolvedTopBlock (Mono.CSharp.ToplevelBlock
block, Boolean unreacha
ble) [0x00006] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\codegen.cs:813
  at Mono.CSharp.EmitContext.EmitTopBlock (IMethodData md,
Mono.CSharp.ToplevelBlock block) [0x00037
] in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\codegen.cs:721
  at Mono.CSharp.MethodData.Emit (Mono.CSharp.DeclSpace parent) [0x0009e] in
C:\cygwin\tmp\monobuild
\build\BUILD\mono-1.9\mcs\mcs\class.cs:5457
  at Mono.CSharp.Method.Emit () [0x0005e] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-1.9\mcs\mcs\cl
ass.cs:4567


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