IOS build CRASHES ON UNITYFRAMEWORK::EXECUTEJOB()

Hi all. My project works perfectly on all platforms and MacOS Editor, but on iOS device crashes.

I think its something about this bug:

But i’m not sure. Any suggestion will be very helpful.

Unity: 2019.3.1f1
burst: 1.2.3
transport: preview.0 - 0.2.3
entities: 0.5.0-preview.17
jobs: 0.2.3-preview.9
iPad 6th generation
iOS: 13.3.1

XCode, Log from thread:

thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000000000000
frame #1: 0x000000010685bbdc UnityFramework`___lldb_unnamed_symbol72$UnityFramework + 356
frame #2: 0x000000010685ba28 UnityFramework`___lldb_unnamed_symbol71$UnityFramework + 1940
frame #3: 0x000000010685a618 UnityFramework`___lldb_unnamed_symbol70$UnityFramework + 21916
frame #4: 0x0000000105b07b74 UnityFramework`ExecuteJob(ManagedJobData*, void (*)(void*, void*, void*, void*, int), int, unsigned char*) + 224
frame #5: 0x0000000105b06e2c UnityFramework`ForwardJobToManaged(ManagedJobData*) + 96
frame #6: 0x0000000105af53a4 UnityFramework`JobQueue::Exec(JobInfo*, long long, int) + 88
frame #7: 0x0000000105af6450 UnityFramework`JobQueue::WaitForJobGroupID(JobGroupID, JobQueue::JobQueueWorkStealFlags) + 452
frame #8: 0x0000000105af29fc UnityFramework`CompleteFenceInternal(JobFence&, WorkStealFlags) + 36
frame #9: 0x0000000105e82a30 UnityFramework`JobHandle_CUSTOM_ScheduleBatchedJobsAndComplete(JobFence&) + 108
frame #10: 0x0000000109077f68 UnityFramework`JobHandle_Complete_m5EFD637001D6A9E0528E60C294FCA5354FD1E797 + 788
frame #11: 0x00000001088e25fc UnityFramework`ComponentDependencyManager_CompleteReadAndWriteDependencyNoChecks_m50163DBF6DCDC809EDA9CCDA4302FD171714C0BC + 1792
frame #12: 0x00000001088e1a04 UnityFramework`ComponentDependencyManager_CompleteDependenciesNoChecks_mCC276F942730B22FF2559CB81AB5A97185656F33 + 684
frame #13: 0x00000001088e8d04 UnityFramework`ComponentSystemBase_CompleteDependencyInternal_mCA540A10188C58F09CA829F9B88ACEA2B031EBD7 + 452
frame #14: 0x00000001088e8218 UnityFramework`ComponentSystem_BeforeOnUpdate_m7DA776C89B02A44B6E24B9094CDA4DA5CAD772D4 + 624
frame #15: 0x00000001088ebe0c UnityFramework`ComponentSystem_Update_mAE72864D55CA50D9254DCB6D80778D42EA0EBBAD + 2624
frame #16: 0x00000001088fd4e8 UnityFramework`ComponentSystemGroup_UpdateAllSystems_m85CAF07C55B79B97FA9CC91EAD8998E69588B4A2 + 1872
frame #17: 0x00000001088fbaf8 UnityFramework`ComponentSystemGroup_OnUpdate_m26B237E703EF64AAAA6D539D14A80DA7B8BF2254 + 1032
frame #18: 0x00000001088ebf38 UnityFramework`ComponentSystem_Update_mAE72864D55CA50D9254DCB6D80778D42EA0EBBAD + 2924
frame #19: 0x000000010a703b20 UnityFramework`DummyDelegateWrapper_TriggerUpdate_mCD23D9DDE01C50C4AE3F1E73F1EFC7CB3F0E9C63 + 448
frame #20: 0x0000000109118ca4 UnityFramework`UpdateFunction_Invoke_m6C0E9E5082FCEEF018602FD40A43E613360D410D + 492
frame #21: 0x000000010525de7c UnityFramework`RuntimeInvoker_TrueVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017(void (*)(), MethodInfo const*, void*, void**) + 20
frame #22: 0x00000001067a680c UnityFramework`il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) + 116
frame #23: 0x0000000105df9a18 UnityFramework`scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) + 116
frame #24: 0x0000000105e07fa0 UnityFramework`ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) + 136
frame #25: 0x0000000105b8421c UnityFramework`ExecutePlayerLoop(NativePlayerLoopSystem*) + 260
frame #26: 0x0000000105b841d0 UnityFramework`ExecutePlayerLoop(NativePlayerLoopSystem*) + 184
frame #27: 0x0000000105b84480 UnityFramework`PlayerLoop() + 380
frame #28: 0x00000001062db17c UnityFramework`UnityPlayerLoopImpl(bool) + 256
frame #29: 0x00000001051c1018 UnityFramework`UnityRepaint + 140
frame #30: 0x00000001051c0ef4 UnityFramework`-[UnityAppController(Rendering) repaintDisplayLink] + 88
frame #31: 0x0000000188eb1130 QuartzCore`CA::smile:isplay::smile:isplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 632
frame #32: 0x00000001834b5930 IOKit`IODispatchCalloutFromCFMessage + 488
frame #33: 0x00000001824c18ac CoreFoundation`__CFMachPortPerform + 172
frame #34: 0x00000001824eb07c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
frame #35: 0x00000001824ea7a8 CoreFoundation`__CFRunLoopDoSource1 + 444
frame #36: 0x00000001824e567c CoreFoundation`__CFRunLoopRun + 2168
frame #37: 0x00000001824e4adc CoreFoundation`CFRunLoopRunSpecific + 464
frame #38: 0x000000018c485328 GraphicsServices`GSEventRunModal + 104
frame #39: 0x00000001865f263c UIKitCore`UIApplicationMain + 1936
frame #40: 0x00000001051bf9b0 UnityFramework`-[UnityFramework runUIApplicationMainWithArgc:argv:] + 108
* frame #41: 0x0000000104ce7e1c EtherWars`main(argc=<unavailable>, argv=<unavailable>) at main.mm:26:9 [opt]
frame #42: 0x000000018236e360 libdyld.dylib`start + 4

I have some updates. Problem was solved by temporary solution.
The reason was in Unity.Transport package. My game starts the udp socket connection with server. There are some Unity.Jobs schedulling in NetworkDriver Class of transport package. I’m sure, that this is bug of preview Unity.Transport Package. I gave some info about this issue into unity issuetracker - Unity Issue Tracker - [iOS] iOS player crashes on UnityFramework`::ExecuteJob() at JobsBindings.cpp:381:13 [opt] when running as a server client
Temporary Solution - use NetworkDriver.ScheduleUpdate() without using Unity.Jobs.
Before:

public JobHandle ScheduleUpdate(JobHandle dep = default(JobHandle))
        {
            long timeNow = Stopwatch.GetTimestamp() / TimeSpan.TicksPerMillisecond - m_updateTimeAdjustment;
            if (m_NetworkParams.config.maxFrameTimeMS > 0 && (timeNow - m_updateTime) > m_NetworkParams.config.maxFrameTimeMS)
            {
                m_updateTimeAdjustment += (timeNow - m_updateTime) - m_NetworkParams.config.maxFrameTimeMS;
                timeNow = m_updateTime + m_NetworkParams.config.maxFrameTimeMS;
            }
            m_updateTime = timeNow;
            var job = new UpdateJob {driver = this};
            JobHandle handle;
            var clearJob = new ClearEventQueue
            {
                dataStream = m_DataStream,
                eventQueue = m_EventQueue,
#if ENABLE_UNITY_COLLECTIONS_CHECKS
                logger = m_Logger,
                stringDB = m_StringDB,
                connectionList = m_ConnectionList,
                internalState = m_InternalState
#endif
            };
            handle = clearJob.Schedule(dep);
            handle = job.Schedule(handle);
            handle = m_NetworkInterface.ScheduleReceive(this, handle);
            var logJob = new LogJob {logger = m_Logger};
            handle = logJob.Schedule(handle);
            return handle;
        }

After:

public JobHandle ScheduleUpdate(JobHandle dep = default(JobHandle))
         {
             long timeNow = Stopwatch.GetTimestamp() / TimeSpan.TicksPerMillisecond - m_updateTimeAdjustment;
             if (m_NetworkParams.config.maxFrameTimeMS > 0 && (timeNow - m_updateTime) > m_NetworkParams.config.maxFrameTimeMS)
             {
                 m_updateTimeAdjustment += (timeNow - m_updateTime) - m_NetworkParams.config.maxFrameTimeMS;
                 timeNow = m_updateTime + m_NetworkParams.config.maxFrameTimeMS;
             }
             m_updateTime = timeNow;
             JobHandle handle = dep;
             m_DataStream.Clear();
             m_EventQueue.Clear();
             InternalUpdate();
             handle = m_NetworkInterface.ScheduleReceive(this, handle);
             /*
             var job = new UpdateJob {driver = this};
             JobHandle handle;
             var clearJob = new ClearEventQueue
             {
                 dataStream = m_DataStream,
                 eventQueue = m_EventQueue,
#if ENABLE_UNITY_COLLECTIONS_CHECKS
                 logger = m_Logger,
                 stringDB = m_StringDB,
                 connectionList = m_ConnectionList,
                 internalState = m_InternalState
#endif
             };
             handle = clearJob.Schedule(dep);
             handle = job.Schedule(handle);
             handle = m_NetworkInterface.ScheduleReceive(this, handle);
             var logJob = new LogJob {logger = m_Logger};
             handle = logJob.Schedule(handle);
             */
             return handle;
         }