I have a third-party C++17 library that utilizes exceptions which was first successfully integrated into UE 4.24 and has worked in every major version since.
Now for some reason, in UE5.1, the exact same library, whose code and build configuration hasn’t changed is causing hard runtime crashes but only for the Linux build of the 5.1 engine. Everything still works fine for Windows builds.
Has something changed in the 5.1 linux configuration to cause this?
TIA!
We encountered the same issue today; exception handling no longer works on Linux.
I found the root cause. It appears that when the Steam online subsystem is enabled, it re-handles any exceptions and forcefully terminates the program with pthread_kill()
. Setting
[OnlineSubsystemSteam]
bEnabled=false
in DefaultEngine.ini
restores the exception handling.
To be more precise, it seems that it’s the SteamShared
which is the dependency in the OnlineSubsystemSteam
.
A more spartan approach is to disable Steam modules loading in FSteamSharedModule::LoadSteamModules()
.
Updating Steamworks from 1.53a to 1.58a also resolves the issue with exceptions.