Patch for OpenSSL bug on some Intel processors not working

Hi. I need help with fixing an OpenSSL issue. The issue is described here: OpenSSL* SHA Crash Bug Requires Application Update

I have rebuilt Unreal from source after patching my version of Unreal’s OpenSSL, but I must have done something wrong because the issue isn’t fixed.

So, 4.22.3 has third party sources of OpenSSL 1.0.2g. I’m using 4.18.0 which has the same. According to intel, they patched 4.22.3’s OpenSSL to fix the issue. I see Engine\Source\ThirdParty\OpenSSL\build\1.0.2g\openssl-1.0.2g-patches , which appears to contain the patches I need. So, I copied the folder contents in my version of unreal 4.18 and built the engine. Everything worked, but it’s not fixed. I’m thinking maybe I missed a step and didn’t apply the patch right. Does anyone know what I did wrong?

I’m also open to any easier way of fixing this horrible issue in 4.18.0. Migrating to a newer Unreal version isn’t an option.

It appears that the patch is NOT applied at any point in the build process. which is strange. You have to manually apply the patch, and of course, this process is likely to break for you and require installing applications and modifying batch files. Also, it only generates lib files. I hope the DLLs don’t require to be patched for the issue to be resolved, because then that’s even harder to do. I’m not sure at the moment.

We’ve been able to fix this issue temporarily by disabling the crash handler and the end user usage data sending. Ironic that a feature to improve the engine actually crashes it 100%.

1 Like

Hi ItBurn,

Did you ever solve this issue? I’m encountering a similar issue in ue5

Well, like I said, we fixed it by “disabling the crash handler and the end user usage data sending”. You can find these in the project settings. If you actually do networking stuff in your game and that’s what’s causing the issue, then your only solution is to either build Unreal from sources and do the patching yourself(headache), or switch to a newer version of Unreal(also headache).

For some reason, I compile engine 4.19 from source and encountering this issue.
Now I have solve it, here is what I do.

1.Download OpenSSL 1.0.2g tar.gz from OpenSSL website, put openssl-1.0.2g.tar in ‘Engine\Source\ThirdParty\OpenSSL\build\1.0.2g’ ;
2.Install perl and 7-zip;
3.Make sure the nmake system path in my compute is correct,if not, refer ‘Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat’ to execute;
4.Run Cmd, cd ‘Engine\Source\ThirdParty\OpenSSL\build’, Excecute ‘uncompress_and_patch.bat 1.0.2g’ and ‘build_openssl_win_all.bat 1.0.2g’, wait it compile, than you will see the lib in ‘Engine\Source\ThirdParty\OpenSSL\1.0.2g\lib\Win64\VS2015’ (OR you can follow the README in ‘Engine\Source\ThirdParty\OpenSSL\build’)

hope it helpful to you~

2 Likes

Hey, I’m necroing this thread hoping you’re still around. Did you apply this patch before you ran the setup.bat and generated the Visual Studio project, before building the engine, or after doing the whole build? I’m not sure if the patch is correcting the compiled files or the files pre-build.

EDIT: I think It’s pre-build. Building the engine generates its own files from the ones that OpenSSL creates when it compiles.