ValveSoftware / csgo-osx-linux

Counter-Strike: Global Offensive
http://counter-strike.net
782 stars 69 forks source link

[Panorama] crash on startup when using gamepads #1757

Open TypicalFence opened 6 years ago

TypicalFence commented 6 years ago

Your system information

Please describe your issue in as much detail as possible:

When I try to start the game via steam or the command line, the game creates a window, which just stays black and the game will crash after a bit.

When starting it via the cli I get this output.

When starting the game with the launch option "-scaleform", it starts up normal, how it should and I can play the game without any Issues. The OpenGL extension lines are the same in the command line output when running it this way. Please don't remove the scaleform ui for the moment.

Steps for reproducing this issue:

  1. Start the game via steam or csgo.sh without any launch options
nightsky30 commented 5 years ago

@Keplyx Your ROCCAT matched the device ID already included in https://github.com/denilsonsa/udev-joystick-blacklist. Does the Steam Controller cause the crash as well?

Keplyx commented 5 years ago

Yes the steam controller crashes the game as well

nightsky30 commented 5 years ago

@Keplyx I had submitted the original pull request because in a similar issue @kisak-valve had suggested trying to have these device problems addressed upstream.

I added the steam controller to my pull request, but there does not appear to be any activity in that repo in over a year. I'm not sure the PR will be accepted or upstreamed from there to any Linux distros.

You are welcome to use the files in my fork and see if they fix the issue for you, or simply continue to use the -nojoy option.

Spacesurfer commented 5 years ago

Same issue with Xbox 360 Wired controller plugged in. Unplug the controller and it works.

Oliver-1xok commented 5 years ago

Run in this today. Had a PS4 DS controller pluged-in (USB).CSGO was terminated on startup.

Kernel log: csgo_linux64[11894] general protection ip:7feafff5ece4 sp:7fff44d41cd0 error:0 in libSDL2-2.0.so.0[7feafff0f000+f8000]

After removing the DS controller, CSGO started normally again.

PeterMX commented 5 years ago

How is not this fixed yet? I toke a time to figure out whats wrong with CS:GO

knuxyl commented 4 years ago

I cannot believe Valve has just ignored this issue for this long. I won't ever purchase anything from Valve in the future because this is ridiculous, and I'm sure it's some stupid fix that'll take them a couple of hours if they would actually get on it. Controller support would be a huge plus for this game so I don't have to sit at a desk to play. I'm on Linux Mint 19 x64 with nvidia p620 and ryzen 5 pro 2400ge.

The only time the game will launch is when my controller isn't plugged in/connected. I have an 8bitdo N30 Pro 2 controller. Only thing related I would think would cause it was some error in terminal about no rumble detected, so I turned rumble off in steam settings for this controller and it still won't start. My controller supports Switch mode/Xinput/Dinput/MacOS mode and none work.

I did notice the game is trying to load a bunch of 32-bit libraries when there is a 64-bit library there too but I don't think the error is related. I think it's more just sloppy programmers.

xDShot commented 4 years ago

this is ridiculous...

eiglow commented 4 years ago

Having xboxdrv active also causes this issue. Could be useful as a test-case.

Kirdej commented 4 years ago

-nojoy seems to help minimize the random CSGO freezing issues on Windows 10 as well. The random freezing started around the same time I got my Corsair K95 RGB keyboard ~5 years ago.

xantyleonhart commented 4 years ago

This line on the debug log:

>>> Adding process 2177 for game ID 730
Detected possibly crashed/killed game, exiting
Saw last dispatch client leave, deleting self
**** Panel **FavoritePages** has **fill-parent-flow** for **height**, but isn't in a flowing **down or up layout**
assert_20200521161052_1.dmp[2178]: Finished uploading minidump (out-of-process): success = yes
assert_20200521161052_1.dmp[2178]: response: Discarded=1
assert_20200521161052_1.dmp[2178]: file ''/tmp/dumps/assert_20200521161052_1.dmp'', upload yes: ''Discarded=1''
pid 2178 != 2177, skipping destruction (fork without exec?)

Specially this part: **** Panel FavoritePages has fill-parent-flow for height, but isn't in a flowing down or up layout

Makes me think that this bug is related with a menu in the CSGO Panorama GUI. When you play with a controller on, the game apparently tries to load a different configuration for the UI than default. When the game tries to load the configuration values, detects a wrong configuration in the file for the "FavoritePages" menu. Apparently it has the wrong class assigned, which makes it incompatible with the "fill-parent-flow" parameter, making the game crash because it cant load the GUI. (looks like the parent menu window/box is vertical in the default config and horizontal in the controller config, but the properties of the child menu "FavoritePages" wasnt updated accordingly)

WORKAROUND:

If you load the game with the controller unplugged, then after the GUI loads you plug it back in, steam detects it correctly and you can play as normal, with the steam controller configuration and all the features.

P.S: More info about the Panorama css attribute here: https://developer.valvesoftware.com/wiki/CSGO_Panorama_CSS_Properties (Look for "fill-parent-flow") I couldnt find the config/css file in the game folder and i'm not versed in the dev kits well enough to know how to create a custom menu with panorama (if it is needed), but i hope maybe someone can.

Quickstick4 commented 4 years ago

Happening for me as well on a brand new Ubuntu 20.04 install. Xbox 360 wired controller. As soon as it was unplugged, game started with no issues.

herrju commented 4 years ago

Crashing for me as well, as soon as I start the CSGO client. The only input device that is being picked up as a 'controller' is the ASRock LED Controller, sitting on the USB Bus. I managed to identify two solutions:

sixwheeledbeast commented 4 years ago

I know this is a fairly old bug but have just run into it myself and I am not certain I know what triggered it.

I have used a PS4 controller as just a USB headset DAC for many months now with no issues but the last few days the game would crash when it's just about to load the menu screen. After seeing this bug report and some testing it seems to be related to having the gamepad plugged in before launching.

The odd thing is I can't believe I wouldn't have done that before now, I am sure there have been times I would have had this connected before launching the game. I initially thought before finding this bug report it was just an issue with the settings files. I changed a good few video settings and key binds around the same time and deleting user "730" file allowed the game to launch but then on closing and relaunching the bug happens again.

I can also confirm that for now -nojoy seems to work and I get similar to above reports in kern.log

kernel: [77582.488681] csgo_linux64[5402]: segfault at f ip 00007f57a36dfce4 sp 00007ffe7bde5f80 error 4 in libSDL2-2.0.so.0[7f57a3690000+f8000]

I am suspicious that I have clicked on something in the settings menu when making my recent settings changes (possibly the controller menu) to trigger this but I can't pin it down or reproduce it. Also testing when settings are already saved on Steam Cloud is a little awkward.

System: Ubuntu 18.04LTS - 4.15.0-118-generic - AMD FX - Radeon RX580

TTimo commented 3 years ago

Crashes on startup caused by having a gamepad connected should be fixed since last update (e.g. no need for -nojoy workaround anymore)

kisak-valve commented 3 years ago

Hello @TTimo, unfortunately no, this issue is not resolved with a SIGSEGV in panorama_client.so.

TTimo commented 3 years ago

I can't reproduce anymore, and there are no SDL2 stack trace coming into our crash report servers for this new version.

wgpierce commented 3 years ago

Tested latest, still crashes on startup, but now crashes in panorama_client.so instead of libSDL2.

[Fri Jan 29 13:34:11 2021] input: Microsoft X-Box One S pad as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/input/input31
[Fri Jan 29 13:34:11 2021] usbcore: registered new interface driver xpad
[Fri Jan 29 13:36:07 2021] csgo_linux64[2408]: segfault at e2caf77b8 ip 00007fad9a912b50 sp 00007ffeb56fcd40 error 6 in panorama_client.so[7fad9a763000+504000]
[Fri Jan 29 13:36:07 2021] Code: 00 c7 45 c4 00 00 00 00 48 8b 5d c8 49 03 5d 00 48 83 7b 08 00 74 77 4c 8d 35 3c 99 26 00 45 31 ff eb 1a 0f 1f 80 00 00 00 00 <42> c6 84 23 b8 00 00 00 00 49 83 c7 01 49 83 ff 15 74 2d 4f 63 24
Muffindrake commented 3 years ago

Just tested.

[    1.880817] usb 2-1.1: New USB device found, idVendor=0e8f, idProduct=0003, bcdDevice= 1.09
[    1.880821] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.880823] usb 2-1.1: Product: 2In1 USB Joystick
[    1.880824] usb 2-1.1: Manufacturer: MY-POWER CO.,LTD.

[ 5427.601484] csgo_linux64[12512]: segfault at e2990d7b8 ip 00007ff447686b50 sp 00007ffef4993010 error 6 in panorama_client.so[7ff4474d7000+504000]
[ 5427.601491] Code: 00 c7 45 c4 00 00 00 00 48 8b 5d c8 49 03 5d 00 48 83 7b 08 00 74 77 4c 8d 35 3c 99 26 00 45 31 ff eb 1a 0f 1f 80 00 00 00 00 <42> c6 84 23 b8 00 00 00 00 49 83 c7 01 49 83 ff 15 74 2d 4f 63 24

assert_20210129214649_1.dmp.gz

jtfen86 commented 3 years ago

Was getting crashing on startup, adding -nojoy to my launch options fixed it for me

xantyleonhart commented 3 years ago

Was getting crashing on startup, adding -nojoy to my launch options fixed it for me

Like i said in an old comment from 2020: https://github.com/ValveSoftware/csgo-osx-linux/issues/1757#issuecomment-632259346

The issue comes from an error when loading the GUI of the main menu of the game for the first time. If you just unplug the controller and plug it back in after the game starts and loads the menu, everything works perfect. (I regularly play with a controller so i should know)

You don't really need to use the -nojoy option, unless you absolutely do not want to use a controller (or your pc detects something else as a controller, and you dont want to be plugging-unplugging constantly, like a steering wheel or something)

xDShot commented 3 years ago

Steam Input actually works

knuxyl commented 3 years ago

None of those solutions work for me. I cannot believe this bug still hasn't been fixed. Valve lost a ton os respect today when I realized how long ago I subscribed to this bug.

On Thu, Jul 15, 2021, 06:14 xDShot @.***> wrote:

Steam Input actually works

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/csgo-osx-linux/issues/1757#issuecomment-880610018, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEU2Q7QJI6MOMZZQE3LVF6TTX27HVANCNFSM4FNYWPQQ .

xantyleonhart commented 3 years ago

Replying to https://github.com/ValveSoftware/csgo-osx-linux/issues/1757#issuecomment-880932195

Are you using a PS4/PS5 controller?

I have been testing recently. Do you have the official sony drivers for the dualsense installed? If not, are you running kernel 5.12 or newer?

I have just tested by installing the official drivers through hid-playstation-dkms AUR package, and just after that, any game refused to recognize the controller, and CS:GO (as well as steam-runtime itself, sometimes) would crash with a segmentation fault.

These drivers were apparently included in the 5.12 kernel. I'm not using that version of the linux kernel so i don't know if it would crash with the included drivers as well, but there is a possibility.

After i removed the official controller drivers everything worked flawlessly again. I'm on kernel 5.10.

Haven't tested using steam with the system libraries, instead of runtime, it might make a difference. Otherwise it might just be a conflict between Steam Input and the official drivers trying to override each other.

P.S: Haven't tried with other driver packages for different controllers, like hid-nintendo, but there could be similar issues.

Etaash-mathamsetty commented 3 years ago

It's silently crashing for me -nojoy dosen't work, -safe dosen't work, I am fed up of this stupid game. It only launches 1/20 times. (no controllers connected, just a monitor, keyboard and mouse, the game files are fine) The only thing that works is to uninstall and reinstall the game every time I want to run it (this dosen't work anymore :( )

gsilvan commented 3 years ago

EDIT 24.10.2021 This workaround is reliable https://github.com/ValveSoftware/csgo-osx-linux/issues/2659#issuecomment-934357559

TheGreatestJannet commented 2 years ago

This seems to be fixed! I have just tried the latest build and it is no longer crashing when a controller is connected!