SIGSEGV in mini-exceptions.c:1953

时间:2013-12-30 21:26:56

标签: mono

我正在尝试使用定制的64位Mono副本运行一个简单的Xamarin.Mac应用程序。该程序在启动后不久就会间歇性地崩溃(装配后),抱怨以下问题:

Assertion at mini-exceptions.c:1953, condition `gaddr == tls->stack_ovf_guard_base' not met

Here is my full crash log.

每当应用程序没有崩溃时,它都能正常运行。有没有人知道造成这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

您似乎在单声道运行时发现了一个错误,我认为它与JIT编译器有关。我相信错误表明在运行本机代码时发生了某种堆栈损坏。我会将错误报告给单声道开发人员 - http://www.mono-project.com/Bugs

似乎64位mac支持有一些限制,似乎不是100%支持 - http://www.mono-project.com/Mono:OSX#32_and_64_bit_support

  

64位支持今天有一些限制,这就是我们拥有的原因   没有完全切换到它:我们的Windows.Forms实现使用   碳,因此,它不适用于64位单声道   MonoDevelop使用Carbon进行菜单集成,因此无法运行   在64位VM上。 MonoMac绑定尚未移植到64位。

答案 1 :(得分:1)

如上所述,问题是由于在64位模式下使用SGen垃圾收集器。那里显然还有一些漏洞。