We are seeing quite a significant number of occurrences of our game crashing when calling `SteamAPI_InitEx` with the error `Unhandled Exception: 0xc06d007f` and the following callstack:
When googling this error, we see that many Unreal games have this crash as there are posts with the same callstack and error 0xc06d007f on the forums of other Unreal Engine games. Therefore we do not believe the crash is with our code.
We have been unable to reproduce this crash locally and are now asking you if you have encountered this crash yourselves and know of a fix. We are currently using Unreal 5.4 but looking at the file history for the SteamShared module, it doesn’t look too different from latest upstream.
How are you getting the callstack? Do you have a dump? If would be interesting to know what is triggering the exception. The SteamAPI_Init should always return according to the Steam documentation so I would guess that it’s the call of the method that fails meaning there is something wrong when the DLL is loaded. Searching for the exception value doesn’t yield great results with most of the info related to system’s related issues (corruption, Anti-virus)…
A colleague ran the exception in the Microsoft Error Lookup Too and it found something that look interesting:
No results found for hex 0xc06d007f / decimal -1066598273
as an HRESULT: Severity: FAILURE (1), FACILITY_VISUALCPP (0x6d), Code 0x7f
for hex 0x7f / decimal 127
ERROR_PROC_NOT_FOUND winerror.h
The specified procedure could not be found.
1 matches found for “0xc06d007f”`ERROR_PROC_NOT_FOUND … It could a stretch but since the problem is around a method from a DLL, it could indicate a dynamic linkage problem,
Please share the dump if you have one. We would be interested to have a look.
Yes, we do have minidumps, have to check how we can share them to you.
More info from the dev following that topic:
I actually think this might be a bug in the Steamworks SDK rather than any of the Unreal code. The error code is ERROR_PROC_NOT_FOUND (procedure not found) and it seems the SteamAPI_InitEx function tries to load some dll. I wonder if it’s users on an old Steam version pre Steamworks 1.61 who are encountering this?
The specific symbol that is failing to be found is SteamInternal_SteamAPI_Init from disassembling the state of the callstack in __delayloadHelper2
I wonder if the crashes we’re seeing are users playing a pirated copy of the game? These versions will have a Steamworks emulator to bypass the Steam DRM and maybe they don’t work properly with the version of the steam API we’re linking against. I have no proof though, just a hypothesis
You seem to be on the right path. The last bits you shared were part of the discussion I had with a colleague. The annoying part is that you haven’t found a way to reproduce. I’m guessing that the crash reports are anonymous and you don’t have a way to reach out to the affected users?
One thing I did in the past for a similar case was to reach out to users on the Steam forums. You might be able to source more details that way.