我已经在Ubuntu服务器上安装了Mono并且“Hello World”正在运行,但是一个简化的应用程序在OSX或Windows上的Mono下进行一些数组处理和运行没有问题:
System.OutOfMemoryException: Out of memory.
at (wrapper alloc) object:AllocVector (intptr,intptr)
它不应该需要超过几MB的内存。服务器有4GB的RAM。
在alloc profile下再次运行会产生一个不同的异常:
System.OverflowException: Number overflow.
at (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)
问题是不一致的,有时代码运行一次,但不是第二次。有时它第一次不起作用。有时它会以不同的方法失败,但出于同样的原因。
可以在http://dev.intelorca.co.uk/2014/gacj_allocproblem.zip下载程序和完整输出 很高兴看到是否有其他人在单声道下运行程序时遇到问题,并且可以提供有关问题的任何见解。任何指向配置Mono以在Ubuntu上运行得更好的指针也会有所帮助。
该计划应输出“剑桥惊喜专业”128次。
答案 0 :(得分:0)
问题是由于Mono使用amd64架构的即时编译器中的错误。这已于2015年1月3日修复。
错误报告:https://bugzilla.xamarin.com/show_bug.cgi?id=25631
修复:https://github.com/mono/mono/commit/9e03c10d8fefea9210ca015cf484e819623c0a1a