UE4Editor Linux crash

Hello.

I compiled UE4 from release branch on OpenSUSE Tumbleweed 20150712 and when I open UE4Editor I get an error:

[2015.07.16-15.01.03:984][  0]LogLinux:Error: appError called: Assertion failed: Assertion failed: Match(ShaderSource, '(') [File:/run/media/hacktor/unrealworkspace/UnrealEngine-release/Engine/Source/Developer/ShaderFormatOpenGL/Private/OpenGLShaderCompiler.cpp] [Line: 1049] 

In the GUI, it opens at 35% then crashes.

Here’s diagnostics.txt file

Hey darkythrone92,

I’ve assigned someone on our team to look into this issue, and if they need any additional information they’ll ask for it here. Thanks for the report!

Hey darkythrone92-

Can you try the 4.9 branch on Github and let me know if you’re able to open the editor of if you receive the same error.

Cheers

Doug Wilson

Right now I can’t try it out, I’m in a holiday. I’ll do it when I return home. Thanks!

I think this is related: ShaderCompileWorker expects different HLSL header format - Programming & Scripting - Unreal Engine Forums

On 4.9 this assertion doesn’t show up (it was showing up on 4.8 on my PC too) - instead ‘Bad hlslcc header found! Missing ‘#’!’ error is showing up now and UE4Editor still crashes, but the underlying issue should be the same.

Hey darkythrone92-

Let me know when you have the chance to test 4.9 and if upgrading fixed this issue for you. For tracking purposes I am marking this post as resolved but if you’re still having problems using the 4.9 branch we will continue to investigate.

Cheers

Doug Wilson

Is this broken for everyone, or only a few of us for unknown reasons? I’ve built/run this fine from source in the past, but I now find I get the same results as mceier - even after a clean checkout/Setup.

The master and 4.8 branches generate this Match(ShaderSource, ‘(’) error, and the 4.9 branch throws the “Bad hlslcc header found! Missing ‘#’!” error . It fails the same way whether running against with either my Intel or Nvidia graphics chipsets, so I don’t expect it’s driver related.

diagnostics.txt

(Compiled on current Ubuntu 15.10 Wily)

I don’t know if it’s broken for everyone - it was broken at least for me.

Now to get rid of the “Bad hlslcc header found! Missing ‘#’!” error, I have to recompile hlslcc:

 cd Engine/Source/ThirdParty/hlslcc/hlslcc/projects/Linux/
 make clean
 make
 cp ../../lib/Linux/libhlslcc.a ../../lib/Linux/x86_64-unknown-linux-gnu/libhlslcc.a

and relink everything that uses it. But about 1-2 weeks ago there were still some bugs that didn’t allow me to run UE4Editor (in StandardSet).

I will test it after September 10. Sorry for making you wait for me, I feel bad about it.

OS - openSUSE Tumbleweed

I get the exact same crash as the OP. I have tried using the 4,9 branch as suggested, but got a different crash; I can grab the diagnostics.txt files when I get to work.

Let me know if I’m doing this wrong. I’m switching to the 4.9 branch as follows, after having the crash in release:

$ git checkout 
$ cd UnrealEngine
$ ./Setup.sh
$ ./GenerateProjectFiles.sh
$ make UE4Editor UE4Game UnrealPak CrashReportClient ShaderCompileWorker UnrealLightmass

Do I need to do anything before checking out the 4.9 engine, to clean the build environment?

Hey sinayion-

Based on the steps you posted the git checkout does not specify any branch. Using the command git checkout https:github.com/EpicGames/UnrealEngine -b 4.9 should ensure you get a clone as well as correctly switch to the 4.9 branch. The other steps in your process appear correct.

Cheers

Doug Wilson

I had this exact same problemusing UE4.8 on Ubuntu 15.10. I reverted to Ubuntu 14.04 LTS and it now works fine. I suspect a later version of something in the build chain.

Hi, man, thanks for your steps, i want install Unreal in Open SUSE :smiley:

Does anyone have a fix other than reverting back to Ubuntu 14.4? (I am running Ubuntu 15.10).

Does anyone have a fix other than reverting back to Ubuntu 14.4? (I am running Ubuntu 15.10).

Previously, I had resorted to just (slowly) compiling it in a 15.04 VM. However, I see that clang now crashes during compilation there and causes the whole VM to go wonky. Whether that’s due to changes in the UE4E source, VirtualBox, or because I was silly enough to update the VM to the latest packages, I do not know.

A faster solution, which I will try today, might be to set up a 14.04 chroot (BasicChroot - Community Help Wiki) and do the compilation there. I used to do this all the time for Wine in the before times. Like you, I’m running a newer Ubuntu (16.04 alpha here), and don’t want to revert the whole system for this one thing.

Just to follow up - I did set up a Trusty (14.04) schroot on my Xenial (16.04) system. I was able to compile UE4E in the chroot with no issues, and run it from the real system.

I highly recommend this configuration for people running newer Ubuntu distros, as it works well and has little overhead.