C# 升级到Mono 4后运行NUnit测试的新SIGABRT

C# 升级到Mono 4后运行NUnit测试的新SIGABRT,c#,mono,nunit,nunit-console,C#,Mono,Nunit,Nunit Console,前几天我们从Mono 3.12.0升级到了4.0.1,现在我们的NUnit用SIGABRT和一些其他信息测试崩溃。到目前为止,谷歌帮不了我什么忙,我已经没有什么可以尝试的了(除了回滚到3.12.0)。我只是希望有人能看看,帮我找到一条新的探索之路!在这里输入代码 我试过--shadowcopy开关、--framework=v4.0/mono-4.0开关等等 控制台输出: matt@matt-T420:~/bah3$ ~/Downloads/nunit3/bin/nunit-console.exe

前几天我们从Mono 3.12.0升级到了4.0.1,现在我们的NUnit用SIGABRT和一些其他信息测试崩溃。到目前为止,谷歌帮不了我什么忙,我已经没有什么可以尝试的了(除了回滚到3.12.0)。我只是希望有人能看看,帮我找到一条新的探索之路!在这里输入代码

我试过--shadowcopy开关、--framework=v4.0/mono-4.0开关等等

控制台输出:

matt@matt-T420:~/bah3$ ~/Downloads/nunit3/bin/nunit-console.exe --

framework=mono-4.0 -v src/bin/Bah.Test.dll -test=Bah.Test.Unit
NUnit Console Runner 3.0.5562 
Copyright (C) 2014 Charlie Poole

Test Files
    src/bin/Bah.Test.dll

Runtime Environment
   OS Version: Unix 3.19.0.16
  CLR Version: 4.0.30319.17020

Options
    ProcessModel: Default    DomainUsage: Default
    Execution Runtime: mono-4.0
    Work Directory: /home/matt/bah
    Internal Trace: Off

Selected test(s):
    bah.Test.Unit
Agent process 29586 starting
Running under version 4.0.30319.17020, 4.0.1 (tarball Tue Apr 28 11:47:58 UTC 2015)
=> Bah.Test.Unit.ApplicationSourceTests.ToString
[ApplicationSource: Base=[Source: Base=[BahEntity: Key=[Key: Type=Bah.Core.SourceTypes.ApplicationSource, Name=a1], Name=a1], SourceType=Application], Command=command]
System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation

Stacktrace:

  at <unknown> <0xffffffff>
  at Moq.Proxy.CastleProxyFactory/CallContext.get_Method () <0x00021>
  at Moq.HandleDestructor.HandleIntercept (Moq.Proxy.ICallContext,Moq.InterceptorContext,Moq.CurrentInterceptContext) <0x0001d>
  at Moq.Interceptor.Intercept (Moq.Proxy.ICallContext) <0x000b0>
  at Moq.Proxy.CastleProxyFactory/Interceptor.Intercept (Castle.DynamicProxy.IInvocation) <0x00085>
  at Castle.DynamicProxy.AbstractInvocation.Proceed () <0x0023e>
  at Castle.Proxies.IRepositoryProxy.Load<T, DTO> (Bah.Core.IKey,System.Func`2<DTO, T>) <0x001d3>
  at Bah.Core.RepositoryExtensions.LoadContainer (Bah.Core.IRepository,Bah.Core.IKey) <0x000b0>
  at Bah.Test.Unit.ContainerTest.TestContainerLoad () <0x00703>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <0xffffffff>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x000f7>
  at System.Reflection.MethodBase.Invoke (object,object[]) <0x0002a>
  at NUnit.Core.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) <0x0004f>
  at NUnit.Core.TestMethod.RunTestMethod () <0x00053>
  at NUnit.Core.TestMethod.RunTestCase (NUnit.Core.TestResult) <0x00027>
  at NUnit.Core.TestMethod.RunTest () <0x0012f>
  at NUnit.Core.NUnitTestMethod.RunTest () <0x0000f>
  at NUnit.Core.TestMethod.RunRepeatedTest () <0x000c3>
  at NUnit.Core.TestMethod.RunTestInContext () <0x00627>
  at NUnit.Core.TestMethod.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x000b3>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00291>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x0049b>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00087>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00083>
  at NUnit.Core.TestFixture.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00087>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00291>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x0049b>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00087>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00083>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00291>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x0049b>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00087>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00083>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00291>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x0049b>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00087>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00083>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00291>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x0049b>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00087>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x00083>
  at NUnit.Core.SimpleTestRunner.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter,bool,NUnit.Core.LoggingThreshold) <0x00130>
  at NUnit.Core.TestRunnerThread.TestRunnerThreadProc () <0x00065>
  at System.Threading.Thread.StartInternal () <0x00071>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

    /usr/bin/mono() [0x4b1d6c]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x10d10) [0x7f18fd533d10]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37) [0x7f18fd18e267]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f18fd18feca]
    /usr/bin/mono() [0x629079]
    /usr/bin/mono() [0x629287]
    /usr/bin/mono() [0x629332]
    /usr/bin/mono() [0x4b3d8f]
    /usr/bin/mono() [0x4b45a3]
    [0x40e62046]

Debug info from gdb:

Could not attach to process.  If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No threads.

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

System.Runtime.Remoting.RemotingException: Connection refused

Server stack trace: 
  at System.Runtime.Remoting.Channels.Tcp.HostConnectionPool.CreateConnection () [0x00000] in <filename unknown>:0 
  at System.Runtime.Remoting.Channels.Tcp.HostConnectionPool.GetConnection () [0x00000] in <filename unknown>:0 
  at System.Runtime.Remoting.Channels.Tcp.TcpConnectionPool.GetConnection (System.String host, Int32 port) [0x00000] in <filename unknown>:0 
  at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage (IMessage msg, ITransportHeaders requestHeaders, System.IO.Stream requestStream, ITransportHeaders& responseHeaders, System.IO.Stream& responseStream) [0x00000] in <filename unknown>:0 
  at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage (IMessage msg) [0x00000] in <filename unknown>:0 

Exception rethrown at [0]: 

  at System.Runtime.Remoting.Channels.Tcp.HostConnectionPool.CreateConnection () [0x00000] in <filename unknown>:0 
  at System.Runtime.Remoting.Channels.Tcp.HostConnectionPool.GetConnection () [0x00000] in <filename unknown>:0 
  at System.Runtime.Remoting.Channels.Tcp.TcpConnectionPool.GetConnection (System.String host, Int32 port) [0x00000] in <filename unknown>:0 
  at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage (IMessage msg, ITransportHeaders requestHeaders, System.IO.Stream requestStream, ITransportHeaders& responseHeaders, System.IO.Stream& responseStream) [0x00000] in <filename unknown>:0 
  at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage (IMessage msg) [0x00000] in <filename unknown>:0 
matt@matt-T420:~/bah3$~/Downloads/nunit3/bin/nunit-console.exe--
framework=mono-4.0-v src/bin/Bah.Test.dll-Test=Bah.Test.Unit
NUnit控制台转轮3.0.5562
版权所有(C)2014 Charlie Poole
测试文件
src/bin/Bah.Test.dll
运行时环境
操作系统版本:Unix 3.19.0.16
CLR版本:4.0.30319.17020
选择权
ProcessModel:默认域用法:默认
执行运行时:mono-4.0
工作目录:/home/matt/bah
内部跟踪:关闭
选定的测试:
bah.Test.Unit
代理进程29586正在启动
在版本4.0.30319.17020和4.0.1下运行(tarball周二4月28日11:47:58 UTC 2015)
=>Bah.Test.Unit.ApplicationSourceTests.ToString
[ApplicationSource:Base=[Source:Base=[BahEntity:Key=[Key:Type=Bah.Core.SourceTypes.ApplicationSourceSource,Name=a1],SourceType=Application],Command=Command]
System.Type[]未实现接口Castle.DynamicProxy.IInvocation
堆栈跟踪:
在
在Moq.Proxy.CastleProxyFactory/CallContext.get_方法()中
位于Moq.HandleDestructor.HandleIntercept(Moq.Proxy.ICallContext、Moq.InterceptorContext、Moq.CurrentInterceptContext)
在Moq.Interceptor.Intercept(Moq.Proxy.ICallContext)
在Moq.Proxy.castleproxy工厂/Interceptor.Intercept(Castle.DynamicProxy.IInvocation)
在Castle.DynamicProxy.AbstractInvocation.procedure()处
在Castle.proxy.IRepositoryProxy.Load(Bah.Core.IKey,System.Func`2)
位于Bah.Core.RepositoryExtensions.LoadContainer(Bah.Core.IRepository,Bah.Core.IKey)
在Bah.Test.Unit.ContainerTest.TestContainerLoad()
at(包装器运行时调用)object.runtime\u invoke\u void\u this\uuu(对象,intptr,intptr,intptr)
在
位于(包装器管理为本机)System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
在System.Reflection.MonMethod.Invoke(对象,System.Reflection.BindingFlags,System.Reflection.Binder,对象[],System.Globalization.CultureInfo)
位于System.Reflection.MethodBase.Invoke(对象,对象[])
在NUnit.Core.Reflect.InvokeMethod(System.Reflection.MethodInfo,object,object[])中
在NUnit.Core.TestMethod.RunTestMethod()处
位于NUnit.Core.TestMethod.RunTestCase(NUnit.Core.TestResult)
在NUnit.Core.TestMethod.RunTest()处
在NUnit.Core.nunitestmethod.RunTest()中
在NUnit.Core.TestMethod.RunRepeatedTest()中
在NUnit.Core.TestMethod.RunTestInContext()处
在NUnit.Core.TestMethod.Run(NUnit.Core.EventListener,NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult、NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener,NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.Run(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestFixture.Run(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult、NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener,NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.Run(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult、NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener,NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.Run(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult、NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener,NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.Run(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult、NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener,NUnit.Core.ITestFilter)
在NUnit.Core.TestSuite.Run(NUnit.Core.EventListener、NUnit.Core.ITestFilter)
运行(NUnit.Core.EventListener、NUnit.Core.ITestFilter、bool、NUnit.Core.loggingsthreshold)
在NUnit.Core.TestRunnerThread.TestRunnerThreadProc()上
在System.Threading.Thread.StartInternal()处
at(包装器运行时调用)object.runtime\u invoke\u void\u this\uuu(对象,intptr,intptr,intptr)
本机堆栈跟踪:
/usr/bin/mono()[0x4b1d6c]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10d10)[0x7f18fd533d10]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7f18fd18e267]
/lib/x86_64-linux-gnu/libc.so.6(中止+0x16a)[0x7f18fd18feca]
/usr/bin/mono()[0x629079]
/usr/bin/mono()[0x629287]
/usr/bin/mono()[0x629332]
/usr/bin/mono()[0x4b3d8f]
/usr/bin/mono()[0x4b45a3]
[0x40e62046]
来自gdb的调试信息:
无法附加到进程。如果您的uid与目标的uid匹配
处理时,请检查/proc/sys/kernel/yama/ptrace_范围的设置,或重试
再次作为根用户。有关更多详细信息,请参阅/etc/sysctl.d/10-ptrace.conf
ptrace:不允许操作。
没有线程。
=================================================================
有一个西格布