Fuzion icon indicating copy to clipboard operation
Fuzion copied to clipboard

Game crashes

Open papersaccul opened this issue 4 years ago • 41 comments

After updating the system (arco linux) the game crashes after injection

p.s. Problem with newer nvidia drivers (on 460-32-03 (25 jan 2021) works, but on new 460-39-5 (6 feb 2021) does not work)

papersaccul avatar Feb 06 '21 21:02 papersaccul

I have similar problem

JuniorJPDJ avatar Feb 08 '21 23:02 JuniorJPDJ

Same problem on amd drivers

ghost avatar Feb 09 '21 14:02 ghost

Have you all updated the kernel since last inject? It might not even be driver related.

dweee avatar Feb 09 '21 15:02 dweee

@dweee Yop, I'm running 5.10.14-arch1-1 Last success was on 5.10.12? 11? something like that

JuniorJPDJ avatar Feb 09 '21 18:02 JuniorJPDJ

I also tried to do debug and show crash log but I'm unable to do so somehow.

JuniorJPDJ avatar Feb 09 '21 18:02 JuniorJPDJ

I upgraded to 5.10.14-arch1-1 and my game now crashes after injection. I think it last worked on 5.10.13, I'll downgrade my kernel and see if it fixes anything,

gkuma avatar Feb 09 '21 23:02 gkuma

Downgrading to 5.9 hasn't fixed it, and I can't downgrade the Nvidia drivers because the old package is unavailable now. If I was able to get a backtrace out of GDB when the cheat is injected, I might be able to see what's crashing, but it'd probably be in the middle of some library which has no symbols.

Tunas1337 avatar Feb 10 '21 05:02 Tunas1337

I upgraded to 5.10.14-arch1-1 and my game now crashes after injection. I think it last worked on 5.10.13, I'll downgrade my kernel and see if it fixes anything,

i tried downgrading kernel but messed it up so went back to .14 again tell me if u get it working :D

Wristing avatar Feb 10 '21 14:02 Wristing

Downgrading to 5.9 hasn't fixed it, and I can't downgrade the Nvidia drivers because the old package is unavailable now. If I was able to get a backtrace out of GDB when the cheat is injected, I might be able to see what's crashing, but it'd probably be in the middle of some library which has no symbols.

i definetly think it is that because i tried cathook and gave me this error: warning: Could not load shared library symbols for bin/launcher.so. Do you need "set solib-search-path" or "set sysroot"? Error while reading shared library symbols for /usr/lib32/libpthread.so.0: Cannot find user-level thread for LWP 13459: generic error 0xf7f5a549 in __kernel_vsyscall () Calling dlopen Cannot find user-level thread for LWP 14184: generic error An error occurred while in a function called from GDB. Evaluation of the expression containing the function (dlopen) will be abandoned. When the function is done executing, GDB will silently stop. Calling dlerror Selected thread is running. ./attach: line 45: 14069 Aborted (core dumped) gdb -n -q -batch -ex "attach $proc" -ex "echo \033[1mCalling dlopen\033[0m\n" -ex "call ((void*()(const char, int))dlopen)("$FILENAME", 1)" -ex "echo \033[1mCalling dlerror\033[0m\n" -ex "call ((char*(*)(void))dlerror)()" -ex "detach" -ex "quit"

Wristing avatar Feb 10 '21 15:02 Wristing

same for me

ghost avatar Feb 10 '21 19:02 ghost

works fine for me :thinking:

LWSS avatar Feb 11 '21 00:02 LWSS

I could give you some sort of remote access to my Fuzion VM and you can check why it crashes ;) Tag me on gitter if you are interested

JuniorJPDJ avatar Feb 11 '21 03:02 JuniorJPDJ

could be glibc related? was updated to 2.33 on the 6th for arch

Zeldern avatar Feb 11 '21 05:02 Zeldern

idk much about fuzion but i cant inject via gdb or kubos injector (both segfault the game) since arch update, idk whats causing it either, but im assuming its kernel, even injecting a lib that just printf's and nothing else segfaults too, not looked into it or tried downgrading yet though because im too lazy and just ld_preload my cheat for now lmao

seksea avatar Feb 11 '21 13:02 seksea

Have you all updated the kernel since last inject? It might not even be driver related.

I think it's the drivers, because if you run the game through the open source invidia driver, then everything works, though 5 fps. I just rolled back the system to January 25th (https://archive.archlinux.org/repos/2021/01/25/) until the problem was resolved.

papersaccul avatar Feb 11 '21 14:02 papersaccul

Have you all updated the kernel since last inject? It might not even be driver related.

I think it's the drivers, because if you run the game through the open source invidia driver, then everything works, though 5 fps.

I just rolled back the system to January 25th (https://archive.archlinux.org/repos/2021/01/25/) until the problem was resolved.

i did indeed its fuly updated everything point is last time i fully updated nvdia was updated kernel was updated cs go is updadeted fuzion is updated it was ok until u update nvdia and everyother shit its probely nvidia or something i am no good linux user i am just avarage linux user but everything is updated i updated sudo pacman -Syu after long time yesterday first try in the morning it doesnt work

:: Synchronizing package databases...

core is up to date

extra is up to date

community is up to date

multilib is up to date

:: Starting full system upgrade...

there is nothing to do

ur sudo pacman -Syu works u just don't have nothing to update, same with me.

Wristing avatar Feb 11 '21 17:02 Wristing

Commenting commandline = GetSymbolAddress<CommandLineFn>(XORSTR("./bin/linux64/libtier0_client.so"), XORSTR("CommandLine"))(); and preloading, prevents the game from crashing, did they change something in there?

EDIT: After some more searching i found that Fuzion cant get the module info: (FindPatternInModule): ERROR: Could Not Get info for Module /client_client.so This doesn't really support the NVIDIA Driver or kernel theory

DerScherenmann avatar Feb 11 '21 18:02 DerScherenmann

Coming here from cathook to add my input: I have exactly 0 evidence this has anything to do with NVIDIA drivers. I have a lot of evidence this is either glibc or gdb however.

Cathook-GUI (our GUI management program for cathook) has support for a so-called "binary" mode that works without installing any additional dependencies, which includes GDB. We instead compile a static version of GDB on our continuous integration infrastructure. Attaching using this functionality makes it work as intended.

Furthermore, the machine I tested this on is actually a virtual machine. Neither QXL nor Virtio showed any difference in behavior. I also experienced the same GDB behavior on an intel GPU. Additionally, the GDB issue also occurs even if you attach gdb to almost any other process. Given that evidence, I feel confident to say that it's not an NVIDIA issue.

JustTNE avatar Feb 11 '21 18:02 JustTNE

Here's how we addressed this on Cathook's end: https://github.com/nullworks/cathook/pull/1347/commits/0ad305f5ebe96103d0ae775c120209d5d910652b

We simply decided to use cathook's existing statically compiled GDB that we use for Cathook-GUI's binary mode.

JustTNE avatar Feb 11 '21 20:02 JustTNE

To fix this in fuzion, you could

  1. Download a precompiled GDB and modify the scripts to use it instead
  2. Download a precompiled GDB and temporarily replace it in /usr/bin
  3. Downgrade gdb (May not work, since partial upgrades are not supported on arch)

Here's the one we build: https://nullworks.gitlab.io/cathook/cathook/gdb. In case you have trust issues, here's how we build it: https://gitlab.com/nullworks/cathook/cathook/-/blob/master/.gitlab-ci.yml#L17

JustTNE avatar Feb 11 '21 21:02 JustTNE

To fix this in fuzion, you could

1. Download a precompiled GDB and modify the scripts to use it instead

2. Download a precompiled GDB and temporarily replace it in /usr/bin

3. Downgrad gdb (May not work, since partial upgrades are not supported on arch)

Here's the one we build: https://nullworks.gitlab.io/cathook/cathook/gdb. In case you have trust issues, here's how we build it: https://gitlab.com/nullworks/cathook/cathook/-/blob/master/.gitlab-ci.yml#L17

worked (option number 2) image

ghost avatar Feb 11 '21 22:02 ghost

Yop, just got my AMD GPU rig start and it's not Nvidia problem ;) Will try to downgrade gdb, thanks for workaround

JuniorJPDJ avatar Feb 11 '21 22:02 JuniorJPDJ

What I did to workaround it is:

mkdir -p "$HOME/.local/bin"
curl https://nullworks.gitlab.io/cathook/cathook/gdb -o "$HOME/.local/bin/gdb"
chmod +x "$HOME/.local/bin/gdb"
export PATH="$HOME/.local/bin:$PATH"

It works ;) Thanks @TotallyNotElite! Downgrading gdb itself didn't work as it's linked to some old python. Then before loading Fuzion just export PATH="$HOME/.local/bin:$PATH"

JuniorJPDJ avatar Feb 11 '21 22:02 JuniorJPDJ

What version of gdb is it? I think I remember having issues with 11 for a while

LWSS avatar Feb 12 '21 03:02 LWSS

$ gdb --version
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

JuniorJPDJ avatar Feb 12 '21 05:02 JuniorJPDJ

this is the broken version?

LWSS avatar Feb 12 '21 05:02 LWSS

yop

JuniorJPDJ avatar Feb 12 '21 06:02 JuniorJPDJ

Glad it worked for you guys, I can look into building GDB 10.1 on our CI too, but that really shouldn't be necessary, as our current version works just fine.

JustTNE avatar Feb 12 '21 09:02 JustTNE

To fix this in fuzion, you could

1. Download a precompiled GDB and modify the scripts to use it instead

2. Download a precompiled GDB and temporarily replace it in /usr/bin

3. Downgrade gdb (May not work, since partial upgrades are not supported on arch)

Here's the one we build: https://nullworks.gitlab.io/cathook/cathook/gdb. In case you have trust issues, here's how we build it: https://gitlab.com/nullworks/cathook/cathook/-/blob/master/.gitlab-ci.yml#L17

worked optin 2 thank you :D

Wristing avatar Feb 13 '21 01:02 Wristing

To fix this in fuzion, you could

1. Download a precompiled GDB and modify the scripts to use it instead

2. Download a precompiled GDB and temporarily replace it in /usr/bin

3. Downgrade gdb (May not work, since partial upgrades are not supported on arch)

Here's the one we build: https://nullworks.gitlab.io/cathook/cathook/gdb. In case you have trust issues, here's how we build it: https://gitlab.com/nullworks/cathook/cathook/-/blob/master/.gitlab-ci.yml#L17

I tried the second option, did not work. Getting this error: Screenshot from 2021-07-13 23-46-39 I might also mention that I am not using Arch Linux, and utilising Pop-OS instead, but in my mind it should have worked as well?

Arcane-Cube avatar Jul 13 '21 18:07 Arcane-Cube