[Mono-bugs] [Bug 509614] New: ilasm2 'irrecoverable syntax error' on monodis of F# dll

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Jun 3 14:37:30 EDT 2009


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


           Summary: ilasm2 'irrecoverable syntax error' on monodis of F#
                    dll
    Classification: Mono
           Product: Mono: Compilers
           Version: 2.4.x
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: IL assembler
        AssignedTo: jankit at novell.com
        ReportedBy: pmarks at pacificbiosciences.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


The following IL causes an 'irrecoverable syntax error' in ilasm2. It was
generated by monodis applied to a simple F# dll generated with fsc 1.9.6.16.
The line: ".namespace <StartupCode$test>.$PacBio" causes the error.


assembly extern mscorlib
{
  .ver 2:0:0:0
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
}
assembly extern FSharp.Core
{
  .ver 1:9:6:16
  .publickeytoken = (A1 90 89 B1 C7 4D 08 09 ) // .....M..
}
assembly 'test'
{
  .custom instance void class
[FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::'.ctor'(int32,
int32, int32) =  (
        01 00 01 00 00 00 09 00 00 00 06 00 00 00 00 00 ) // ................

  .hash algorithm 0x00008004
  .ver  0:0:0:0
}
mresource public 'FSharpSignatureData.test'
{
}
mresource public 'FSharpOptimizationData.test'
{
}
module test.dll // GUID = {4A26BC0F-1988-BB94-A745-03830FBC264A}


namespace PacBio
{
  .class public auto ansi abstract sealed beforefieldinit Test
      extends [mscorlib]System.Object
  {
    .custom instance void class
[FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype
[FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) =  (01 00 07 00 00 00
00 00 ) // ........


    // method line 1
    .method public static 
           default int32 f (int32 a)  cil managed 
    {
        // Method begins at RVA 0x2050
    // Code size 4 (0x4)
    .maxstack 4
    IL_0000:  ldarg.0 
    IL_0001:  ldc.i4.5 
    IL_0002:  add 
    IL_0003:  ret 
    } // end of method Test::f

  .class nested public auto ansi serializable beforefieldinit Blah
      extends [mscorlib]System.Object
  {
    .custom instance void class
[FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::'.ctor'(valuetype
[FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) =  (01 00 03 00 00 00
00 00 ) // ........

    .field  assembly  int32 a

    // method line 2
    .method public specialname  rtspecialname 
           instance default void '.ctor' ()  cil managed 
    {
        // Method begins at RVA 0x2060
    // Code size 18 (0x12)
    .maxstack 4
    .locals init (
        class PacBio.Test/Blah    V_0)
    IL_0000:  ldarg.0 
    IL_0001:  call instance void object::'.ctor'()
    IL_0006:  ldarg.0 
    IL_0007:  pop 
    IL_0008:  ldarg.0 
    IL_0009:  stloc.0 
    IL_000a:  ldloc.0 
    IL_000b:  ldc.i4.5 
    IL_000c:  stfld int32 PacBio.Test/Blah::a
    IL_0011:  ret 
    } // end of method Blah::.ctor

    // method line 3
    .method public 
           instance default int32 Method (int32 y)  cil managed 
    {
        // Method begins at RVA 0x2080
    // Code size 8 (0x8)
    .maxstack 4
    IL_0000:  ldarg.0 
    IL_0001:  ldarg.1 
    IL_0002:  call instance int32 class PacBio.Test/Blah::f(int32)
    IL_0007:  ret 
    } // end of method Blah::Method

    // method line 4
    .method assembly 
           instance default int32 f (int32 x)  cil managed 
    {
        .custom instance void class
[mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'()
=  (01 00 00 00 ) // ....

        // Method begins at RVA 0x2094
    // Code size 9 (0x9)
    .maxstack 4
    IL_0000:  ldarg.1 
    IL_0001:  ldarg.0 
    IL_0002:  ldfld int32 PacBio.Test/Blah::a
    IL_0007:  add 
    IL_0008:  ret 
    } // end of method Blah::f

  } // end of class Blah

  } // end of class PacBio.Test
}

namespace <StartupCode$test>.$PacBio
{
  .class private auto ansi abstract sealed beforefieldinit Test
      extends [mscorlib]System.Object
  {
    .field  assembly static  int32 init@
    .custom instance void class
[mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::'.ctor'(valuetype
[mscorlib]System.Diagnostics.DebuggerBrowsableState) =  (01 00 00 00 00 00 00
00 ) // ........

    .custom instance void class
[mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'()
=  (01 00 00 00 ) // ....

    .custom instance void class
[mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::'.ctor'() =  (01 00
00 00 ) // ....


    // method line 5
    .method private static  specialname  rtspecialname 
           default void '.cctor' ()  cil managed 
    {
        // Method begins at RVA 0x20ac
    // Code size 8 (0x8)
    .maxstack 3
    IL_0000:  ldc.i4.s 0x0a
    IL_0002:  call void class [mscorlib]System.Console::WriteLine(int32)
    IL_0007:  ret 
    } // end of method Test::.cctor

  } // end of class <StartupCode$test>.$PacBio.Test
}

  .class private auto ansi abstract sealed beforefieldinit
'<PrivateImplementationDetails$test>'
      extends [mscorlib]System.Object
  {

  } // end of class <PrivateImplementationDetails$test>

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list