getnamo / SocketIOClient-Unreal

Socket.IO client plugin for the Unreal Engine.
Other
882 stars 239 forks source link

Editor crashes when using UE5.3 #405

Open CheaterScript opened 7 months ago

CheaterScript commented 7 months ago

UE Version: 5.3 Plugin Version: V2.7.1

After triggering the OnFail event and then calling Connect again, the editor crashed directly during the first reconnection. The log is as follows:

1708078967343

LoginId:5ac99a7d4b803936902462933fe27595
EpicAccountId:49de6fc41cf04cef9f397aac238b4294

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000001f95c1

UnrealEditor_SocketIOClient!TDelegateAccessHandlerBase<FNotThreadSafeDelegateMode>::FWriteAccessScope::FWriteAccessScope() [D:\Epic Games\UE\UE_5.3\Engine\Source\Runtime\Core\Public\Delegates\DelegateAccessHandler.h:139]
UnrealEditor_SocketIOClient!TMulticastScriptDelegate<FNotThreadSafeDelegateMode>::ProcessMulticastDelegate<UObject>() [D:\Epic Games\UE\UE_5.3\Engine\Source\Runtime\Core\Public\UObject\ScriptDelegates.h:891]
UnrealEditor_SocketIOClient!`USocketIOClientComponent::SetupCallbacks'::`2'::<lambda_5>::operator()() [D:\project\the-arena\Plugins\SocketIOClient\Source\SocketIOClient\Private\SocketIOClientComponent.cpp:195]
UnrealEditor_SocketIOClient!UE::Core::Private::Function::TFunctionRefCaller<``FSocketIONative::SetupInternalCallbacks'::`2'::<lambda_6>::operator()'::`18'::<lambda_1>,void __cdecl(void)>::Call() [D:\Epic Games\UE\UE_5.3\Engine\Source\Runtime\Core\Public\Templates\Function.h:479]
UnrealEditor_CoreUtility!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(void),0> >::ExecuteTask() [D:\Epic Games\UE\UE_5.3\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:1265]
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Engine
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll
getnamo commented 7 months ago

In what context are you using the component (in world on actor or statically allocated?). What is triggering the on fail in the first place? Example of calling connect again after fail in your example that reproduces this bug?

Note to self:

CheaterScript commented 7 months ago

I am using a component on an actor in world, with a reconnect count set to 2. Then, I directly invoke the connect method of the component with an incorrect URL until the OnFail event is triggered. I'm not quite sure if these callbacks occur on the game thread.