在单声道下执行.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()
上调用REngine
,因为它似乎以某种方式溢出,但这是不可能的,因为{{ 1}} - Singleton不能重新初始化它已被设计处理掉。
增加Maschines Memory或ulimit dit也无济于事。有什么我想念的吗?
答案 0 :(得分:1)
除非RDotNet程序集正在进行P / Invoke并且在与平台的集成中存在错误,单声道中的SIGSEGV始终是运行时中的错误,请在此处报告您的错误,附加一个最小的测试用例: