MovingBlocks / Terasology

Terasology - open source voxel world
http://terasology.org
Apache License 2.0
3.69k stars 1.34k forks source link

Crash at launch on Ubuntu with AMD Radeon graphics #3667

Closed Qwertygiy closed 5 years ago

Qwertygiy commented 5 years ago

What you were trying to do

Launching Terasology 2.2.0 from run_linux.sh

What actually happened

The loading bar appears and loads modules and worldbuilding and Discord and the like, albeit the loading bar window flashes black for a tenth of a second every half a second. After reaching the end, the loading bar window vanishes and the process quits.

How to reproduce

Log details and game version

https://pastebin.com/FP1atV55 [buildNumber=78, buildId=78, buildTag=jenkins-TerasologyStable-78, buildUrl=http://jenkins.terasology.org/job/TerasologyStable/78/, gitBranch=master, gitCommit=a05742f087c3b9a680284ccc1b91c8b1e38c3dc6, dateTime=2019-02-03T04:57:37Z, displayVersion=alpha, engineVersion=2.2.0]

Computer details

From log: Java: 11.0.2 in /usr/lib/jvm/java-11-openjdk-amd64 Java VM: OpenJDK 64-Bit Server VM, version: 11.0.2+9-Ubuntu-3ubuntu118.04.3 OS: Linux, arch: amd64, version: 4.15.0-47-generic Max. Memory: 1536 MiB

Additional info: Model: Toshiba Satellite C55D-A5206 OS: 64-bit Ubuntu OS Version: 4.15.0.47-generic (as Kubuntu 18.04) CPU: AMD A4-5000 APU GPU: Radeon integrated graphics Driver: X.org AMD KABINI (DRM 2.50.0, LLVM 7.0.0) OpenGL: 4.4 (Compatibility Profile) Mesa 18.2.2

It appears that the root cause may be a fault in gcc-7.

Qwertygiy commented 5 years ago

I have found a fix. Trying to use the Terasology Launcher resulted in a new Gradle install; which resulted in Java being updated; and from there on out, defaulting to OpenJDK 11.

Setting my primary Java installation back to OpenJDK 8 allowed Terasology to launch.

For anyone else with this issue, run the following commands: sudo update-java-alternatives --list This command will show you the installed JVMs. In my case, the results were: java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64

Then, run the following, replacing my java-1.8.0-etc with whatever name you find: sudo update-java-alternatives --set java-1.8.0-openjdk-amd64

It may error a couple of times, didn't stop it from working for me. You can check to see if it worked by running: java -version

Cervator commented 5 years ago

Thanks for the good research! :-)