[Mono-bugs] [Bug 650407] New: AOT compile asserts when dependent assemblies are not available

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sun Oct 31 16:44:24 EDT 2010



           Summary: AOT compile asserts when dependent assemblies are not
    Classification: Mono
           Product: Mono: Runtime
           Version: SVN
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Minor
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: brian at sooloos.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.5 Safari/534.10

This is just an error reporting problem, and appears not to be platform
specific (reproduced on x86 mac + linux).

I was trying to AOT-compile FSharp.Compiler.dll from F# 2.0 (available here:

If I do mono --aot FSharp.Compiler.dll, I get a crash like this:

Mono Ahead of Time compiler - compiling assembly
* Assertion at method-to-ir.c:8066, condition `costs > 0' not met


Native stacktrace:

    0   mono                                0x000ca6a3
mono_handle_native_sigsegv + 376
    1   mono                                0x001255c2 sigabrt_signal_handler +
    2   libSystem.B.dylib                   0x97dd71fb _sigtramp + 43
    3   ???                                 0xffffffff 0x0 + 4294967295
    4   libSystem.B.dylib                   0x97e6462d raise + 26
    5   libSystem.B.dylib                   0x97e7a6e4 abort + 93
    6   mono                                0x0026f14e monoeg_g_logv + 197
    7   mono                                0x0026f1b0 monoeg_assertion_message
+ 46
    8   mono                                0x000522ca mono_method_to_ir +
    9   mono                                0x0000b5df mini_method_compile +
    10  mono                                0x000ac799 compile_method + 497
    11  mono                                0x000b19da compile_methods + 546
    12  mono                                0x000b26a8 mono_compile_assembly +
    13  mono                                0x0009e4bb main_thread_handler +
    14  mono                                0x000a066c mono_main + 6979
    15  mono                                0x00001eea mono_main_with_options +
    16  mono                                0x00001f49 main + 49
    17  mono                                0x00001c95 start + 53

Debug info from gdb:

/tmp/mono-gdb-commands.0Gf48P:1: Error in sourced command file:
unable to debug self

Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.

I traced the crash through the mono code, and the issue is that ISymWrapper.dll
couldn't be loaded during AOT compilation. If I copy an ISymWrapper.dll 
from microsoft.net 2.0 into the cwd, then the AOT compile completes

This should be reported to the user as an assembly load failure instead of as
an assert.

Reproducible: Always

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