[Mono-dev] mono 3.0, llvm, sgen

sebastian sebastian at palladiumconsulting.com
Fri Oct 26 18:37:32 UTC 2012


I have built and run mono 3.0 from source running SGen successfully under
RHEL 6. A nice improvement! We are getting less memory usage in
network-intensive parts of our code. I'm now hoping to get higher
performance from the number-crunching bits, so I'm trying to enable LLVM.

I built mono-llvm from
https://github.com/mono/llvm/commit/b66d5f8086f95000919d105caae1ec0d979142fe
and
rebuilt mono-3.0.0 using instructions found here
http://www.mono-project.com/Mono_LLVM. I configured both builds to install
in a common place. ("/mono" in the instructions). This common path's bin is
in my path, and its lib is in my LD_LIBRARY_PATH.

While everything builds and mono itself runs well enough to tell me about
its command line options...

: mono --version
Mono JIT compiler version 3.0.0 (tarball Fri Oct 26 13:10:07 CDT 2012)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors.
www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        LLVM:          yes(3.2svn-mono)
        GC:            sgen


... actual .net programs crash on start with some interesting console logs
and finally a dynamic link failure. It's obviously something quite
fundamental. It makes me wonder if I've built the wrong version of llvm, or
somehow gotten my link paths wrong either during configure or runtime. As
far as I can tell the <premain> and -simplifycfg "errors" are from LLVM,
but I'm not sure what to make of those, either. I'd appreciate any help!

: nunit-console
<premain>: CommandLine Error: Argument 'print-machineinstrs' defined more
than once!
<premain>: CommandLine Error: Argument 'misched' defined more than once!
-simplifycfg: CommandLine Error: Argument 'print-machineinstrs' defined
more than once!
-simplifycfg: CommandLine Error: Argument 'misched' defined more than once!
Unable to resolve: memset
mono-sgen: mini-llvm-cpp.cpp:128: virtual void*
MonoJITMemoryManager::getPointerToNamedFunction(const std::string&, bool):
Assertion `0' failed.
Stacktrace:

  at <unknown> <0xffffffff>
  at string.Replace (string,string) <0x00039>
  at Microsoft.Win32.KeyHandler.GetVolatileDir (string) <0x00031>
  at Microsoft.Win32.KeyHandler..ctor
(Microsoft.Win32.RegistryKey,string,bool) [0x00006] in
/glb/data/CDIS/src/mono-3.0.0.llvm/mcs/class/corlib/Microsoft.Win32/UnixRegistryApi.cs:123
  at Microsoft.Win32.KeyHandler..ctor (Microsoft.Win32.RegistryKey,string)
<0x00007>
  at Microsoft.Win32.KeyHandler.Lookup (Microsoft.Win32.RegistryKey,bool)
<0x0013f>
  at Microsoft.Win32.UnixRegistryApi.OpenSubKey
(Microsoft.Win32.RegistryKey,string,bool) <0x00020>
  at Microsoft.Win32.RegistryKey.OpenSubKey (string,bool) <0x00041>
  at Microsoft.Win32.RegistryKey.OpenSubKey (string) <0x00007>
  at (wrapper remoting-invoke-with-check)
Microsoft.Win32.RegistryKey.OpenSubKey (string) <0xffffffff>
  at NUnit.Util.SettingsService.ConvertLegacySettings () <IL 0x0000b,
0x0003b>
  at NUnit.Util.SettingsService..ctor (bool) <IL 0x0006b, 0x0012b>
  at NUnit.Util.SettingsService..ctor () <0x0000a>
  at NUnit.ConsoleRunner.Runner.Main (string[]) <IL 0x00008, 0x0009f>
  at NUnit.ConsoleRunner.Class1.Main (string[]) <0x00005>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object
(object,intptr,intptr,intptr) <IL 0x0005c, 0xffffffff>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20121026/a7a9e830/attachment.html>


More information about the Mono-devel-list mailing list