Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bad RIP value from gtk3-nocsd package #286

Closed
marekmarecki opened this issue Oct 22, 2020 · 8 comments
Closed

Bad RIP value from gtk3-nocsd package #286

marekmarecki opened this issue Oct 22, 2020 · 8 comments

Comments

@marekmarecki
Copy link

marekmarecki commented Oct 22, 2020

Proton version: 5.13-1
Ubuntu 20.04.1, nvidia

Games affected (all non-native games that I have installed are affected):

  • Age of Empires II: Definitive Edition (id 813780)
  • Age of Empires II (2013) (id 221380)
  • Fallout: New Vegas (id 22380)
  • Grand Theft Auto IV: The Complete Edition (id 12210)

With proton 5.0-9 everything above was launching ok.

I can see some strange things in syslog:
Oct 22 20:53:38 ubuntu-pc kernel: [ 593.762926] pressure-vessel[12294]: segfault at 0 ip 0000000000000000 sp 00007fffaeee1eb8 error 14 in pressure-vessel-launch[400000+14000] Oct 22 20:53:38 ubuntu-pc kernel: [ 593.762933] Code: Bad RIP value.

Logs that I collected:

Putting PROTON_LOG=1 %command% in launch options is not creating any logs (it was creating logs with proton 5.0-9).

Where should I look to get to the bottom of the problem?

Thanks


Small update:
I have the exact same problem (the same errors in logs) on another machine (also Ubuntu 20.04.1
but steam installed from package provided by Steam's site, not provided by distro - if that makes any difference anyway)

@kisak-valve kisak-valve transferred this issue from ValveSoftware/Proton Oct 22, 2020
@kisak-valve
Copy link
Member

kisak-valve commented Oct 22, 2020

Hello @marekmarecki, this reads like a pressure vessel issue, which Proton 5.13 runs on top of. I suspect that the debian-modified Steam package is stealing any useful hints from the terminal spew and putting it in ~/.steam/error.log. Can you check if that exists and if there's any hints in it?

@marekmarecki
Copy link
Author

marekmarecki commented Oct 22, 2020

Hi @kisak-valve. My bad. When I last checked this file, there was nothing interesting inside. Now it is generating more info. I updated the problem description with another gist. There are some errors there, like this for example:

ERROR: ld.so: object '/home/marek/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_new
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
Segmentation fault

Here is content of /usr/lib/x86_64-linux-gnu/gio/modules/:
-rw-r--r-- 1 root root 270 lip 8 21:44 giomodule.cache
-rw-r--r-- 1 root root 67656 mar 11 2020 libdconfsettings.so
-rw-r--r-- 1 root root 22680 cze 23 08:45 libgiognomeproxy.so
-rw-r--r-- 1 root root 133408 cze 23 08:45 libgiognutls.so
-rw-r--r-- 1 root root 18584 cze 23 08:45 libgiolibproxy.so
-rw-r--r-- 1 root root 133344 kwi 14 2020 libgioremote-volume-monitor.so
-rw-r--r-- 1 root root 231928 kwi 14 2020 libgvfsdbus.so

@marekmarecki
Copy link
Author

I can confirm that removing gtk3-nocsd package from system and rebooting OS solves the problem: log from game running on 5.13-1. Confirmed on two machines. Big thanks to aib's comment.

@kisak-valve kisak-valve changed the title Unable to launch any game with Proton 5.13-1 Bad RIP value from gtk-nocsd package Oct 24, 2020
@kisak-valve kisak-valve changed the title Bad RIP value from gtk-nocsd package Bad RIP value from gtk3-nocsd package Oct 24, 2020
@smcv
Copy link
Contributor

smcv commented Oct 26, 2020

The libgtk3-nocsd.so.0 preload library is known to break non-Steam programs quite regularly, too, and the GTK maintainers consider it to be a problem. I would recommend not using it.

If we do anything to solve this crash, it will probably be the brute-force approach: when we are adjusting LD_PRELOAD to work inside the container, remove any entry that looks like it might be libgtk3-nocsd.

@marekmarecki
Copy link
Author

I removed the package, no problem. It was not installed directly, just as some dependency at some point in the past, I do not need it. But some folks may also have it and not know what to do, especially if it don't come up in logs that easily (in my attached logs there is no mention of this lib; would need to dig deeper to find it).
Cheers and keep up the good work 👍

@aib
Copy link

aib commented Oct 30, 2020

Indeed; I used gdb to trace the segfault to nocsd. And there's no direct connection to Steam or Proton, so it would be hard to stumble upon the solution. That's why I commented; glad to see it helped!

@smcv
Copy link
Contributor

smcv commented Jan 6, 2021

pressure-vessel versions >= 0.20210105.0 automatically disable gtk3-nocsd for the container.

These versions are available in the beta branch of SteamLinuxRuntime and SteamLinuxRuntime_soldier starting from today (check VERSIONS.txt). They are not in the normal/stable branch yet, but probably will be soon.

@kisak-valve
Copy link
Member

Closing per the last comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants