Editor crashes when using UE5.3
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:
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
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:
- Crash references https://github.com/getnamo/SocketIOClient-Unreal/blob/master/Source/SocketIOClient/Private/SocketIOClientComponent.cpp#L195
- Failure of
thisin on fail callback context? Does this callback get called on game thread?
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.