Project

General

Profile

Bug #1182

Linux version crashes on systems with FGLRX Radeon driver. when an unhandled Null Reference Exception occures.

Added by Ruedii over 10 years ago. Updated over 6 years ago.

Status:
Not a Bug
Severity:
Unworthy
Assignee:
-
Category:
Gameplay
Target version:
-
Start date:
08/06/2013
% Done:

0%

Version:
Platform:
Linux
Expansion:
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

On my system, and presumably other systems with the FGLRX driver, the KSP game binary crashes when an unhandled Null Reference Exception occurs.

This does not happen under other video drivers, including the Open Source "Gallium-Mesa" Radeon Driver.

My system (in case anything else in the configuration is causing this):
AMD A4-3300 APU

Radeon HD 6410D Integrated into CPU (ATI Sumo)

8GB low latency DDR3-1600 memory.
Seagate "Green" series 1.5TB drive
Motherboard TA75M+

Chipset: AMD A75 Chipset
Network: Realtek RTL8111E Gigabit LAN
Audio: Realtek ALC892 HDA Sound Chip
BIOS: AMI UEFI BIOS 4/12/2012 v4.6.4

OS: Kubuntu Linux 13.04 "Raring"

KDE Plasma Desktop 4.10.5
XOrg 1.13.3
Kernel 3.8.0-27-Generic (Ubuntu Updates build)
Mesa 9.1.3 (Ubuntu Updates Build)
AMD FGLRX Proprietary Driver 13.08

Steps to replicate:
Install Linux on a system with a newer Radeon graphics card (HD5000 or later)
Install KSP and trigger one of many known Null-Reference Exception bugs.
Game will handle bug properly, and not crash.
Install fglrx driver.
retest same bug.
Game will crash when the Null-Reference Exception is triggered.
Uninstall fglrx driver and switch back to Open Source driver (to be extra sure it isn't a dependency of the driver)
retest same bug.
Game will handle bug properly and not crash.

History

#1 Updated by Ruedii over 10 years ago

As a note if you want any more information about my system, I can upload a full report. Just ask.

#2 Updated by harrim4n over 10 years ago

  • Status changed from New to Confirmed
  • % Done changed from 0 to 10

I can confirm this. Running Arch Linux with the 3.8.11 kernel. When I have the debug console open whenever I can see a NullPointerExeption the game freezes for about 1 second and then crashes. During that time the memory usage increases until the RAM is full, then the game crashes. Of course, the game also crashes, when I don't have the console open, but then I can see the exception.
So far it has only happened to me when I try to launch a rocket, so during the transition from VAB/SPH/scenery to the launchpad. It occurs while the loading screen is showing, so I guess this bug might be related to bug 1091.

#3 Updated by harrim4n over 10 years ago

Ok, so I just realized that I didn't have the newest version of the catalyst driver installed. I upgraded to 13.4-13 via the aur package by Vi0l0 and now the crash doesn't occur anymore, even if the game throws the exeption.
@Ruedii Do you have the newest version of the driver installed?

EDIT: Sadly, it seems like I was to quick with my post. I had the debug menu open during my testing (~30mins w/ several launches etc.) and the game didn't crash even if the debug console showed the exeption. So I made this post and then closed the debug menu. I continued playing but on the next launch the game crashed again with the same "symptoms" as before.

Another EDIT: Okay, after another 2 hours of playing with the debug menu I can say that the game even crashes when the menu is open. But mostly when switching to the craft, reloading quicksaves etc., not so much on launches. Maybe that is just an incident though.
So, we are as far as we already were.

#4 Updated by Ruedii over 10 years ago

It seems that only some Null Reference Exception errors cause the crash.

I am not sure why exactly.

I have a list of bugs that are this type.

The fastest to replicate uses a ship where the first part is a blue explosive decoupler. Add a probe core on the top side then launch. Press space to stage, detaching the coupler and it should trigger the exception.

#5 Updated by sr over 10 years ago

Ruedii wrote:

It seems that only some Null Reference Exception errors cause the crash.

I am not sure why exactly.

Can you check your Xorg.log (usually under /var/log/Xorg.0.log) or dmesg output (type 'dmesg' into a command line console - only the last few rows will be of interest) after such a crash happened, to see if the fglrx driver logged anything there?

Also, do the open source driver and fglrx use the same acceleration modes, and load the same X extensions (both should be logged to the Xorg.log)?

#6 Updated by sr over 10 years ago

I've researched this bug a bit and the following workaround worked for me on the commandline as root:

sysctl -w kernel.yama.ptrace_scope=0
apt-get install libcap2-bin
setcap cap_sys_ptrace=eip /usr/bin/steam

Then (re-)start steam as usual as a normal user and launch KSP. The Null Reference Errors should no longer cause crashes.

Could you please try and verify that this no longer causes crashes on your end either?

#7 Updated by Ruedii over 10 years ago

Well, when I upgraded my system, I switched to an nVidia GTX card which isn't subject to this bug.

My old motherboard is in another case for use as my media center computer, so I will test it when I get it up and running. I'm not sure when that is.

Anyways, I already had kernel.yama.ptrac_scope set to 0 for Wine, so this is not the issue.

I am not sure if Steam and KSP.x86 have the capabilities set to it, but with it set to zero, it shouldn't matter if ptrace_scope is set to 0, which removes limitations on it. The setcap option on ptrace just overrides the limitation when ptrace_scope is set to 1.

Also, if it was ptrace, it would likely affect other drivers. Currently it only affects the FGLRX driver, and not the Mesa3D drivers on the same card.

This makes me feel it might be another FGLRX quirk, similar to the FastTLS bug that dirties registers during OpenGL calls. You may want to contact the Linux team over at AMD about this, as they would know more. Valve should be able to get you a contact if you can't get a hold of one. They are working tightly with the AMD Linux team on porting games to their new SteamOS specialty gaming distro. (The same goes for all the other major gaming-grade computer component manufacturers.)

However, even though I doubt it, when I get my old motherboard working I will try adding the capabilities settings and get back to you.

(It turns out this whole time my power supply was dying and the that was why my motherboard started acting up.)

#8 Updated by sal_vager over 8 years ago

  • Status changed from Confirmed to Need More Info
  • % Done changed from 10 to 0

Hi guys, is this still occurring with the Radeon driver and latest build of KSP / version of Unity ?

#9 Updated by Eddi over 8 years ago

I am pretty sure i have this issue.

I am using the Steam version of the game, and a Radeon HD 7750 card with the fglrx drivers. The game frequently crashes at the places mentioned here (most commonly on going from VAB to launchpad). but i don't get any error message, the game just stops.

#10 Updated by TriggerAu almost 8 years ago

  • Status changed from Need More Info to Needs Clarification

#11 Updated by sal_vager over 7 years ago

  • Status changed from Needs Clarification to Updated
  • % Done changed from 0 to 10

Fglrx is no longer supported by AMD, and does not work with newer versions of Xorg, in addition to this the supported Linux distribution Ubuntu no longer makes this driver available in 16.04 LTS and newer releases.

With no support from AMD and no possibility for updates surely it's time to accept that we can no longer expect the fglrx driver to be a suitable option for running KSP, and to ask players to use the new AMD GPU/Pro, or the RadeonSI driver available from their package manager and which work really well with KSP.

The Unity engine handles all the graphics anyway, this isn't something Squad can control and would be reliant on Unity to solve.

More info here.

https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#fglrx

https://lists.ubuntu.com/archives/ubuntu-doc/2016-March/019771.html

https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-16.04-Dropping-fglrx

https://launchpad.net/ubuntu/+source/fglrx-installer/+publishinghistory

#12 Updated by Ruedii about 7 years ago

FGLRX has perminently been marked legacy and is no longer maintained.

AMD-GPU-Pro drivers and Mesa drivers work.
Mesa drivers outperform and have more features than FGLRX now.

I will reduce the priority to unworthy

It should be fine to mark this as "Moot" but I will leave that to Squad. It may also be considered "Not a Bug" since the bug is in the driver.

#13 Updated by Ruedii over 6 years ago

  • Severity changed from Critical to Unworthy

Priority has been reduced, because the FGLRX driver is no longer used for any cards that would run KSP with any sort of proper performance. Problem is probably upstream in Unity3D anyway, and thus very hard to fix if not impossible.

The simple preferred recommendation for users of Radeon HD3000-HD6000 cards on Linux is to use the Mesa drivers. They have better performance now and actually now support more features.

#14 Updated by Ruedii over 6 years ago

  • Status changed from Updated to Not a Bug
  • % Done changed from 10 to 0

I have changed this to not-a-bug for the fact that the entire FGLRX stack is inherently broken, and making a game work with it is senseless at this point, since AMD has abandoned it in favor of the Mesa stack and the AMD GPU-Pro stack. They actually recommend users of cards RadeonSI and earlier use the Mesa Stack instead of FGLRX.

FGLRX can officially be marked as unsupported, and the response to any FGLRX compatibility question should now be "FGLRX is no longer supported by us, AMD or any major Linux Distros. Use Mesa for all legacy ATI/AMD chipsets (13.x or later recommended)."

Also available in: Atom PDF