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 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 report!

Hey darkythrone92-

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

Cheers

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 - Epic Developer Community Forums

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

Hey darkythrone92-

Let me know when you have 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 4.9 branch we will continue to investigate.

Cheers

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

master and 4.8 branches generate this Match(ShaderSource, ‘(’) error, and 4.9 branch throws the “Bad hlslcc header found! Missing ‘#’!” error . It fails 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 “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 exact same crash as OP. I have tried using 4,9 branch as suggested, but got a different crash; I can grab diagnostics.txt files when I get to work.

Let me know if I’m doing this wrong. I’m switching to 4.9 branch as follows, after having 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 4.9 engine, to clean build environment?

Hey sinayion-

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

Cheers

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 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 whole VM to go wonky. Whether that’s due to changes in UE4E source, VirtualBox, or because I was silly enough to update VM to 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 compilation there. I used to do this all time for Wine in before times. Like you, I’m running a newer Ubuntu (16.04 alpha here), and don’t want to revert 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 chroot with no issues, and run it from real system.

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