1

在单声道下执行 .NET.Program 时,我不断得到一个 SIGSEGV,当在 Windows 机器上运行时,它运行得非常好。

错误如下所示:

Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) object.wrapper_native_0x2b32fe108a20 (intptr,intptr,bool&) <0xffffffff>
  at RDotNet.Expression.TryEvaluate (RDotNet.REnvironment,RDotNet.SymbolicExpression&) <0x00067>
  at RDotNet.REngine.Parse (string,System.Text.StringBuilder) <0x0026f>
  at RDotNet.REngine/<Defer>d__0.MoveNext () <0x00263>
  at System.Linq.Enumerable.LastOrDefault<TSource_REF> (System.Collections.Generic.IEnumerable`1<TSource_REF>) <0x000d6>
  at RDotNet.REngine.Evaluate (string) <0x00037>
  at Strompreisprognose.Tools.SpotPriceForecast.SpotPriceForecastCalculator.Regressio
  [...]
  at SpotPriceForecast.Program.Main (string[]) <0x00173>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

        mono() [0x49cf0c]
        mono() [0x4f2d5e]
        mono() [0x4249dd]
        /lib/x86_64-linux-gnu/libpthread.so.0(+0xf8d0) [0x2b32f49d48d0]
        [0x2b32f7e01284]

Debug info from gdb:


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

我想到的只是调用Dispose()在循环中使用的 used REngines,因为它似乎以某种方式溢出,但这是不可能的,因为REngine一旦按设计处理 -Singleton 就无法重新初始化。

增加 Maschines Memory 或 ulimit dit 也无济于事。有什么我想念的吗?

4

1 回答 1

1

除非 RDotNet 程序集正在执行 P/Invoke 并且在与平台的集成中存在错误,否则单声道中的 SIGSEGV 始终是运行时中的错误,请在此处报告您的错误,并附上最小的测试用例:

http://bugzilla.xamarin.com/

于 2016-01-25T07:26:07.697 回答