Since updating to 5.6 I’m now getting errors with the Steam friends list. This all worked perfectly in 5.5 previously. This causes attempts to join a created session to fail as this error happens as soon as the build is launched.
Please see the following critical error from the logs:
[2025.06.12-23.07.15:087][910]LogWindows: Error: === Critical error: ===
[2025.06.12-23.07.15:087][910]LogWindows: Error:
[2025.06.12-23.07.15:087][910]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffffffffff
[2025.06.12-23.07.15:087][910]LogWindows: Error:
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff8306b156d VCRUNTIME140.dll!UnknownFunction
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff775c98ec6 Analog.exe!UGetFriendsCallbackProxy::OnReadFriendsListCompleted() [H:\Analog 5.6\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\GetFriendsCallbackProxy.cpp:98]
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff775c987c8 Analog.exe!TBaseUObjectMethodDelegateInstance<0,UGetFriendsCallbackProxy,void __cdecl(int,bool,FString const &,FString const &),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [G:\UE_5.6\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:689]
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff777adb2ff Analog.exe!FOnlineAsyncTaskSteamReadFriendsList::TriggerDelegates()
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff775add99a Analog.exe!FOnlineAsyncTaskManager::GameTick()
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff777ad7e95 Analog.exe!FOnlineSubsystemSteam::Tick()
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff76d44dae5 Analog.exe!TBaseRawMethodDelegateInstance<0,FTSTickerObjectBase,bool __cdecl(float),FDefaultDelegateUserPolicy>::Execute()
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff76d430cb5 Analog.exe!FFileCache::PushCompletedRequest'::
12’::<lambda_1>::operator()()
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff76d480329 Analog.exe!FTSTicker::Tick()
[2025.06.12-23.07.15:087][910]LogWindows: Error: [Callstack] 0x00007ff775a34569 Analog.exe!FEngineLoop::Tick()
Here are some additional notes from AI analization:
The `Analog.log` file indicates that your Unreal Engine 5.6.0-43139311 project (`Analog_Game`) crashed at 01:24:40 CDT on June 14, 2025, shortly after loading the `Level_Multiplayer_Lobby` map. The crash is due to an `EXCEPTION_ACCESS_VIOLATION` (reading address `0xffffffffffffffff`), which suggests a null pointer dereference or memory access issue. Below are the key findings and steps to address the issue.
### Key Observations
#### 1. Crash Details
- **Error**: `Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffffffffff`
- **Callstack**:
- Starts in `VCRUNTIME140.dll` (likely a C++ runtime issue).
- Traces to `UGetFriendsCallbackProxy::OnReadFriendsListCompleted` in `GetFriendsCallbackProxy.cpp:98` (part of the `AdvancedSessions` plugin).
- Involves `FOnlineAsyncTaskSteamReadFriendsList::TriggerDelegates` and `FOnlineSubsystemSteam::Tick`, indicating a Steam API-related failure.
- **Cause**: The crash likely occurs when the Steam subsystem attempts to process a friends list request, but the data or callback context is invalid (e.g., null pointer or uninitialized object).
#### 2. Preceding Events
- **Map Transition**: The game transitioned from `Level_MainMenu` to `Level_Multiplayer_Lobby` at 01:24:29, taking 0.077558 seconds to load.
- **Voice Processing**: `LogOnlineVoice: OSS: StartLocalProcessing(0) returned 0xFFFFFFFF` and invalid user errors (`RegisterLocalTalker`) suggest issues with voice chat initialization, possibly related to the Steam subsystem.
- **PSO Hitching**: Multiple `LogD3D12RHI: Waited for PSO creation` messages (up to 400ms delays) indicate shader compilation bottlenecks, which might stress the system but aren’t the direct crash cause.
- **Memory Usage**: Peak process memory is 3.3 GB physical and 9.6 GB virtual, with no immediate out-of-memory indication.
#### 3. Steam Integration
- `LogOnline: Warning: STEAM: Failed to obtain steam user stats` earlier in the log suggests incomplete Steam stats setup.
- The crash occurs during a Steam friends list operation, likely triggered by the multiplayer lobby’s session creation (`LogOnlineSession: OSS: Session creation completed`).
#### 4. Missing DLLs
- Warnings for `VtuneApi.dll`, `VtuneApi32e.dll`, `WinPixGpuCapturer.dll`, and `aqProf.dll` (GetLastError=126) are present but unrelated to the crash, as they’re optional profiling tools.
### Likely Cause
The crash is tied to the `AdvancedSessions` plugin’s `GetFriendsCallbackProxy`, which interacts with the Steam API. An invalid user ID, uninitialized session, or misconfigured Steam callback could cause the access violation. This is supported by the `Invalid user specified in RegisterLocalTalker` errors and the timing with session setup.
### Steps to Resolve
1. **Check Steam API Configuration**:
- Verify your Steam App ID (3434900) is correctly set in **Project Settings > Platforms > Windows > Steam**.
- Ensure the Steam SDK is properly integrated (e.g., `steam_api64.dll` is in `Binaries/Win64/`).
- Test with a minimal Steam setup (e.g., disable friends list queries temporarily) to isolate the issue.
2. **Debug `AdvancedSessions` Plugin**:
- Open `GetFriendsCallbackProxy.cpp` at line 98 in your project’s `Plugins/AdvancedSessions/Source/AdvancedSessions/Private/` directory.
- Add null checks or logging before the crash point (e.g., check `FriendsList` or `UserId` validity).
- Recompile the plugin and test again.
3. **Review Session Setup**:
- Check the Blueprint or C++ code triggering the friends list request in `Level_Multiplayer_Lobby`.
- Ensure the session is fully initialized before calling `GetFriendsCallbackProxy`. Add a delay or validation step if needed.
4. **Update or Reinstall Dependencies**:
- Ensure Unreal Engine 5.6.0 and the `AdvancedSessions` plugin are up to date.
- Reinstall the Steamworks SDK (version 1.57) from [Steamworks](https://partner.steamgames.com/doc/sdk) to rule out corruption.
5. **Enable Crash Reporting**:
- The log shows `Could not start crash report client using ../../../Engine/Binaries/Win64/CrashReportClient-Win64-Debug.exe`. Ensure this file exists and is accessible, or set up a custom crash handler in **Project Settings > Crash Reporter**.
6. **Test in Editor**:
- Run the project in the Unreal Editor with the `-debug` flag to catch the crash earlier and get more detailed output.
- Use the Output Log to monitor Steam-related messages.
### Next Steps
- Implement the above fixes, starting with Steam API validation.
- If the crash persists, share the modified `GetFriendsCallbackProxy.cpp` or relevant Blueprint logic.
- Let me know if you need help setting up the crash reporter or debugging the callstack further!