Calling the NetSerialize() function of FUniqueNetIdRepl from a custom NetSerialize() causes a crash. This only seems to occur when the struct is part of an array RPC parameter.
Run attached project with a dedicated server and one client, and on the clients' machine, run the following console commands to test the issue:
CallTestRPC 0 - This will crash
CallTestRPC 1
CallTestRPC 2 - This will crash
CallTestRPC 3
> [Inline Frame] UE4Editor-Engine.dll!FUniqueNetIdRepl::UniqueIdFromString(FName) Line 206 C++ UE4Editor-Engine.dll!FUniqueNetIdRepl::NetSerialize(FArchive & Ar, UPackageMap * Map, bool & bOutSuccess) Line 351 C++ UE4Editor-SerializeTest-0003.dll!FSerializeTest::NetSerialize(FArchive & Ar, UPackageMap * Map, bool & bOutSuccess) Line 41 C++ UE4Editor-CoreUObject.dll!FStructProperty::NetSerializeItem(FArchive & Ar, UPackageMap * Map, void * Data, TArray<unsigned char,TSizedDefaultAllocator<32>> * MetaData) Line 165 C++ UE4Editor-Engine.dll!FRepLayout::SerializeProperties_r(FBitArchive & Ar, UPackageMap * Map, const int CmdStart, const int CmdEnd, UE4_RepLayout_Private::TRepDataBufferBase<0,unsigned char> Data, bool & bHasUnmapped, const int ArrayIndex, const int ArrayDepth, const FRepSerializationSharedInfo & SharedInfo, FNetTraceCollector * Collector) Line 6242 C++ UE4Editor-Engine.dll!FRepLayout::ReceivePropertiesForRPC(UObject * Object, UFunction * Function, UActorChannel * Channel, FNetBitReader & Reader, UE4_RepLayout_Private::TRepDataBufferBase<0,unsigned char> Data, TSet<FNetworkGUID,DefaultKeyFuncs<FNetworkGUID,0>,FDefaultSetAllocator> & UnmappedGuids) Line 6602 C++ UE4Editor-Engine.dll!FObjectReplicator::ReceivedRPC(FNetBitReader & Reader, const FReplicationFlags & RepFlags, const FFieldNetCache * FieldCache, const bool bCanDelayRPC, bool & bOutDelayRPC, TSet<FNetworkGUID,DefaultKeyFuncs<FNetworkGUID,0>,FDefaultSetAllocator> & UnmappedGuids) Line 1190 C++ UE4Editor-Engine.dll!FObjectReplicator::ReceivedBunch(FNetBitReader & Bunch, const FReplicationFlags & RepFlags, const bool bHasRepLayout, bool & bOutHasUnmapped) Line 1072 C++ UE4Editor-Engine.dll!UActorChannel::ProcessBunch(FInBunch & Bunch) Line 2845 C++ UE4Editor-Engine.dll!UActorChannel::ReceivedBunch(FInBunch & Bunch) Line 2686 C++ UE4Editor-Engine.dll!UChannel::ReceivedSequencedBunch(FInBunch & Bunch) Line 391 C++ UE4Editor-Engine.dll!UChannel::ReceivedNextBunch(FInBunch & Bunch, bool & bOutSkipAck) Line 805 C++ UE4Editor-Engine.dll!UChannel::ReceivedRawBunch(FInBunch & Bunch, bool & bOutSkipAck) Line 489 C++ UE4Editor-Engine.dll!UNetConnection::ReceivedPacket(FBitReader & Reader, bool bIsReinjectedPacket) Line 2702 C++ UE4Editor-Engine.dll!UNetConnection::ReceivedRawPacket(void * InData, int Count) Line 1312 C++ UE4Editor-OnlineSubsystemUtils.dll!UIpNetDriver::TickDispatch(float DeltaTime) Line 1371 C++ [Inline Frame] UE4Editor-Engine.dll!TMemberFunctionCaller<UNetDriver,void (__cdecl UNetDriver::*)(float)>::operator()(float &) Line 156 C++ [Inline Frame] UE4Editor-Engine.dll!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int>>::ApplyAfter(TMemberFunctionCaller<UNetDriver,void (__cdecl UNetDriver::*)(float)> &&) Line 272 C++ [Inline Frame] UE4Editor-Engine.dll!TBaseUObjectMethodDelegateInstance<0,UNetDriver,TTypeWrapper<void> __cdecl(float)>::Execute(float) Line 654 C++ UE4Editor-Engine.dll!TBaseUObjectMethodDelegateInstance<0,UNetDriver,void __cdecl(float)>::ExecuteIfSafe(float <Params_0>) Line 716 C++ UE4Editor-Engine.dll!TBaseMulticastDelegate<void,float>::Broadcast(float <Params_0>) Line 981 C++ UE4Editor-Engine.dll!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1282 C++ UE4Editor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1695 C++ UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 411 C++ UE4Editor.exe!FEngineLoop::Tick() Line 4806 C++ [Inline Frame] UE4Editor.exe!EngineTick() Line 62 C++ UE4Editor.exe!GuardedMain(const wchar_t * CmdLine) Line 169 C++ UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 257 C++ [External Code]
I am not able to find world outliner how to enable it?
How does TextureRenderTarget2D get TArray<uint8> type data?
How can i modify the param name in EQS node
What method is used to fill polygonal regions when drawing spline mesh at run time?
How to achieve HLSL Multiple Render Target in Material blueprints?
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
How to capture a screen Use CineCameraComponent without SceneComponent2d
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-95013 in the post.
0 |
Component | UE - Networking |
---|---|
Affects Versions | 4.24 |
Target Fix | 4.26 |
Created | Jun 29, 2020 |
---|---|
Resolved | Jul 15, 2020 |
Updated | Jul 16, 2020 |