Fragmentation Pipeline crash editor with "Attempt to access invalid address"

There is a issue with fragmentation pipeline sending.
It occurs when the data payload size is at some magic length.
I guess it is around integral multiple of MTU.
Could someone help me ?

Stack Trace of Crashed Thread 28168:
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6F5AC13FE)
0x00007FF6F5AC13FE (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6F28EDAD7)
0x00007FF6F28EDAD7 (Unity) (function-name not available)
0x00000155AAFAE800 (UnityEngine.CoreModule) Unity.Collections.LowLevel.Unsafe.UnsafeUtility.MemCpy()
0x00000155AA914B2B (Unity.Networking.Transport) Unity.Networking.Transport.FragmentationPipelineStage.Send$BurstManaged()
0x00000155AA914313 (Unity.Networking.Transport) Unity.Networking.Transport.Send_00000129$BurstDirectCall.Invoke()
0x00000155AA9141BB (Unity.Networking.Transport) Unity.Networking.Transport.FragmentationPipelineStage.Send()
0x000001554D41FA33 (Unity.Networking.Transport) Unity.Networking.Transport.FragmentationPipelineStage.Send()
0x00000155AA913F9D (mscorlib) System.Object.wrapper_native_000001554CF806E0()
0x00000155AA913BB9 (Unity.Networking.Transport) Concurrent.ProcessSendStage()
0x00000155AA911843 (Unity.Networking.Transport) Concurrent.ProcessPipelineSend()
0x00000155AA90CC03 (Unity.Networking.Transport) Concurrent.Send()
0x00000155765C405B (Unity.Networking.Transport) Concurrent.EndSend()
0x000001557668BE5B (DOTS_Foundation) DOTS.Foundation.<>c__DisplayClass_OnUpdate_LambdaJob2.OriginalLambdaBody()
0x000001557668AC5B (DOTS_Foundation) DOTS.Foundation.<>c__DisplayClass_OnUpdate_LambdaJob2.IterateEntities()
0x000001557668928B (DOTS_Foundation) DOTS.Foundation.<>c__DisplayClass_OnUpdate_LambdaJob2.Execute()
0x0000015576688F63 (Unity.Entities) JobChunkProducer`1.ExecuteInternal()
0x000001557668864B (Unity.Entities) JobChunkProducer`1.Execute()
0x0000015576688832 (Unity.Entities) ExecuteJobFunction.invoke_void_JobChunkExtensions/JobChunkWrapper`1<T>&_intptr_intptr_JobRanges&_int()
0x000001557601EB39 (Unity.Entities) <Module>.runtime_invoke_void__this___intptr&_intptr_intptr_intptr&_int()
0x00007FFDC16DE480 (mono-2.0-bdwgc) mono_get_runtime_build_info
0x00007FFDC1662902 (mono-2.0-bdwgc) mono_perfcounters_init
0x00007FFDC166B95F (mono-2.0-bdwgc) mono_runtime_invoke

Be easier to help if you showed how you were calling it in

DOTS.Foundation.<>c__DisplayClass_OnUpdate_LambdaJob2.

Thanks for response. Here is my code. Error is occur in large buffer sending.

            Entities.WithBurst().ForEach((
                ref DynamicBuffer<CommonDataSendingBuffer> commonBuffers, in NetworkConnectionComp connComp) => {

                    for (int i = commonBuffers.Length - 1; i >= 0; i--) {
                        var item = commonBuffers[i];
                        var r = concurrent.BeginSend(smallPipeline, connComp.connection, out DataStreamWriter writer, UnityNetworkingParameters.sendingSize);
                        if (r == 0) {
                            NetworkSystemBase.ClaimDataSend(ref writer, item.writer.Length + sizeof(int));
                            writer.WriteInt(item.typeIndex);
                            writer.WriteBytes(item.writer.Buffer, item.writer.Length);
                            r = concurrent.EndSend(writer);
                        }
                        LogSendError(r);
                    }
                    commonBuffers.Clear();

                }).ScheduleParallel();
            driver.ScheduleFlushSend(Dependency);

            Entities.WithBurst().ForEach((
                ref DynamicBuffer<LargeDataSendingBuffer> largeBuffers, in NetworkConnectionComp connComp) => {

                    for (int i = largeBuffers.Length - 1; i >= 0; i--) {

                        var item = largeBuffers[i];
                        var payloadSize = NetworkSystemBase.HeaderSize + sizeof(int) + item.writer.Length;

                        var r = concurrent.BeginSend(largePipeline, connComp.connection, out DataStreamWriter writer, payloadSize);
                        if (r == 0) {
                            NetworkSystemBase.ClaimDataSend(ref writer, item.writer.Length + sizeof(int));
                            writer.WriteInt(item.typeIndex);
                            writer.WriteBytes(item.writer.Buffer, item.writer.Length);
                            r = concurrent.EndSend(writer);
                        }
                        LogSendError(r);
                    }
                    largeBuffers.Clear();

                }).ScheduleParallel();
            driver.ScheduleFlushSend(Dependency);

The large pipeline is fragmentation + reliable + fragmentation + reliable. But the second layer is not even used. it crash when payload size is around 1x mtu, 2x mtu. If it is not near mtu, it will be fine.

Should I post on NetCode forum?sigh

@BobFlame Yes.