应用程序崩溃无一例外或日志(似乎是xamarin/mono bug)

EAK*_*EAM 8 c# mono android xamarin.android xamarin

它在这里一个奇怪的情况:),我在片段中实现此代码扫描TCP Portsmultithread environment,它crash when debugging,有时crash in release mode与thoose消息太:

E/art (12972): Nested signal detected - original signal being reported

F/art (12972): art/runtime/fault_handler.cc:117] Check failed: !initialized_

试图设置Target Android to 23不起作用.

尝试运行adb shell setprop debug.mono.env MONO_DEBUG=soft-breakpoints不起作用.

试图使用不同的编译 Android API's Versions

任何想法为什么会发生这种情况?

这是我的代码:

    public void start()
    {
        for (int i = 0; i < 50; i++)
        {
            Task.Run(() => RunScanTcp());
            //ThreadPool.QueueUserWorkItem(RunScanTcp);
            //Thread thread = new Thread(new ThreadStart(RunScanTcp));
            //thread.Start();
        }
    }


    public void RunScanTcp()
    {
        while (abort != true)
        {
                port = port + 1;
                Log.Info("PORT SCANNER", port.ToString());
        }
    }

    public class PortList
    {
        private int start;
        private int stop;
        private int ports;
        private static readonly object _syncRoot = new object();

        public PortList(int starts, int stops)
        {
            start = starts;
            stop = stops;
            ports = start;
        }

        public bool MorePorts()
        {
            lock (_syncRoot)
            {
                return (stop - ports) >= 0;
            }
        }

        public int NextPort()
        {
            lock (_syncRoot)
            {
                if (MorePorts())
                {
                    return ports++;
                }
                return -1;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我编译使用:

Android Version (Android 7.1 Nougat)

最低Android版本:

Android 4.1 (API Level 16 - Jelly Bean)

目标Android版本:

Compile Using SDK Version

更新:

之后Visual Studio Update 15.2 (26430.12),Xamarin 4.5.0.476- 30/05/2017(dd/mm/yyyy)应用程序crashed也是connected to debugger如此......

这是调试器输出:

referenceTable GDEF length=814 1
referenceTable GSUB length=11364 1
referenceTable GPOS length=47302 1
referenceTable head length=54 1
referenceTable GDEF length=428 1
referenceTable GSUB length=2302 1
referenceTable GPOS length=43252 1
referenceTable head length=54 1
referenceTable GDEF length=808 1
referenceTable GSUB length=11364 1
referenceTable GPOS length=49128 1
referenceTable head length=54 1
referenceTable GDEF length=808 1
referenceTable GSUB length=11364 1
referenceTable GPOS length=47320 1
referenceTable head length=54 1
05-31 04:31:51.590 F/art     (17427): art/runtime/fault_handler.cc:117] Check failed: !initialized_ 
Run Code Online (Sandbox Code Playgroud)

谢谢大家 ...

EAK*_*EAM 0

问题似乎出在xamarin.android platform因为上次更新后6/9/2017 Visual Studio 2017 version 15.2 (26430.13)它不再崩溃...无论如何感谢您的时间..当尝试创建(n)个线程/任务时会发生此错误...