ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.3k stars 1.06k forks source link

Crossout (386180) #1937

Open prototype99 opened 5 years ago

prototype99 commented 5 years ago

Compatibility Report

System Information

I confirm:

steam-386180.log

Symptoms

crashes after download. gjagent.exe stays open however, user must manually find and end process to relaunch. crash reporter does admittedly work though.

Reproduction

simply install and try to run the game.

MagmaiKH commented 5 years ago

I can confirm I have the same issue.

zzhiyi commented 5 years ago

EasyAntiCheat

HonkingGoose commented 5 years ago

Implementation of some kind of whitelist/integration of EAC / anti-cheat systems into Proton is tracked here: #1468

user1-github commented 2 years ago

Just FYI, the game seems to work now. When I downloaded the game, it also downloaded the EAC Proton runtime and after I launched the game, I've seen a "success" message in EAC log.

Also, there are 2 EAC .so files in the game directory. Does that mean the developer himself enabled Proton support for the game? (So far I haven't seen any official word from the developer regarding Proton support).

vars1ty commented 1 year ago

Just FYI, the game seems to work now. When I downloaded the game, it also downloaded the EAC Proton runtime and after I launched the game, I've seen a "success" message in EAC log.

Also, there are 2 EAC .so files in the game directory. Does that mean the developer himself enabled Proton support for the game? (So far I haven't seen any official word from the developer regarding Proton support).

The developers enabled support for it through EAC, their engine also has support for Linux. Though, their implementation is far from being playable for some. I can enter games, last for a few seconds to minutes before it just crashes, have yet to find a solution for it.

Then there's micro-stuttering, which can be be somewhat resolved via VMTouch (Preload game-files into RAM)

kisak-valve commented 1 year ago

Crossout crashing with stack smashing detected

Issue transferred from https://github.com/ValveSoftware/Proton/issues/6278. @vars1ty posted on 2022-10-29T09:36:22:

Compatibility Report

System Information

I confirm:

Log: https://gist.github.com/vars1ty/3520dfe0b103578daa67522bfd0bcd63

Symptoms

The game fails to launch 9,5/10 of the times, ending up with errors like stack smashing detected. I have also tried running it with Wine-GE and various different Proton versions (+ GE), none which were stable. The only thing that has worked at times was running it through Bottles, setting the synchronization to FSync. But even with that, it only lasts a handful of minutes before crashing again.

Reproduction

  1. Install Crossout
  2. Launch the game
  3. Watch it crash most of the time

Edit

I've also gotten it confirmed by someone else that it occurs for them too, and not just me. Their distro is Kubuntu.

JoshuaKimsey commented 1 year ago

@kisak-valve (Apologies, just saw this was a transfer of @vars1ty's post ) I can confirm I get the stack smashing detected - Terminated error message as well. (Where did you get your full set of logs from, out of curiosity?)

OS: Pop!_OS 22.04 CPU: i9-9900k GPU: Nvidia RTX 2080 RAM: 64GB

I have a full terminal print out of it below from where I launched Steam via the terminal.

*** stack smashing detected ***: terminated
ThreadGetProcessExitCode: no such process 909409
ThreadGetProcessExitCode: no such process 909355
ThreadGetProcessExitCode: no such process 908887
ThreadGetProcessExitCode: no such process 908866
ThreadGetProcessExitCode: no such process 908858
ThreadGetProcessExitCode: no such process 908828
ThreadGetProcessExitCode: no such process 908825
ThreadGetProcessExitCode: no such process 908819
ThreadGetProcessExitCode: no such process 908815
pid 908821 != 908820, skipping destruction (fork without exec?)
Game process removed: AppID 386180 "/home/jkimsey/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=386180 -- /home/jkimsey/.steam/debian-installation/ubuntu12_32/steam-launch-wrapper -- '/home/jkimsey/.secondary_drive/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/jkimsey/.secondary_drive/SteamLibrary/steamapps/common/Proton 7.0'/proton waitforexitandrun  '/home/jkimsey/.secondary_drive/SteamLibrary/steamapps/common/Crossout/launcher.exe' -steam", ProcID 909219 
ThreadGetProcessExitCode: no such process 909219
ThreadGetProcessExitCode: no such process 908837
ThreadGetProcessExitCode: no such process 908693
ThreadGetProcessExitCode: no such process 908692
Game 386180 created interface STEAMUSERSTATS_INTERFACE_VERSION012 / 
Game 386180 created interface SteamController008 / 
Game 386180 created interface SteamFriends017 / 
Game 386180 created interface SteamInput006 / 
Game 386180 created interface SteamUser021 / 
Game 386180 created interface SteamUser021 / User
Game 386180 created interface SteamUtils010 / 
Game 386180 method call count for IClientControllerSerialized::GetHandleForGamepadIndex : 29086
Game 386180 method call count for IClientUserStats::SetAchievement : 43
Game 386180 method call count for IClientUserStats::StoreStats : 1
Game 386180 method call count for IClientUserStats::RequestCurrentStats : 1
Game 386180 method call count for IClientUtils::RecordSteamInterfaceCreation : 10
Game 386180 method call count for IClientUtils::GetAppID : 15
Game 386180 method call count for IClientFriends::GetFriendByIndex : 33
Game 386180 method call count for IClientFriends::GetFriendCount : 1
Game 386180 method call count for IClientFriends::GetPersonaName : 2
Game 386180 method call count for IClientUser::GetAuthSessionTicket : 1
Game 386180 method call count for IClientUser::GetSteamID : 49
Game 386180 method call count for IClientUser::BLoggedOn : 29171
Uploaded AppInterfaceStats to Steam

(process:909286): GLib-GObject-CRITICAL **: 22:56:22.800: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
vars1ty commented 1 year ago

(Where did you get your full set of logs from, out of curiosity?)

Via PROTON_LOG=1

JoshuaKimsey commented 1 year ago

@vars1ty Thanks. I have found one common connector here. On Proton 7.0-4 Stable, this event (shown below) always happens before a Stack Smashing crash happens:

644046.945:0350:0354:fixme:advapi:GetCurrentHwProfileA (0000000000112C58) semi-stub
644046.945:0350:0354:fixme:process:GetSystemRegistryQuota (0000000000112CD8, 0000000000112CDC) faking reported quota values
644047.206:0350:0560:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\rsaenh.dll" : builtin
644048.816:0350:0354:fixme:win:FlashWindowEx 000000000011C8B0 - semi-stub
*** stack smashing detected ***: terminated

It seems like that each time the rsaenh.dll is unloaded, a stack smashing event happens that crashes the game. This may be key for any devs who wanna try and figure out how to mitigate this issue. I've tried several of the Proton launch flags, with no avail. The crash log above was captured with PROTON_NO_ESYNC=1, so that's why it's a bit more messy, but has more info (to me it looks like there is more info).

But yeah, hopefully with this info, a fix/workaround can be found. I'm actually not sure why Proton Experimental isn't working, I need to do more testing on that.

JoshuaKimsey commented 1 year ago

Update: just tested with Proton Experimental with the same settings as above, and it's definitely an EAC issue with regards to that. Here's the crash log from just before the crash at startup:

645163.825:0518:0540:trace:seh:RtlRestoreContext returning to 000000007B6325FA stack 0000000011D5D640
645163.825:0518:0540:fixme:iphlpapi:NotifyAddrChange (Handle 0000000011D5E118, overlapped 000034B000304B10): stub
645163.826:0518:0540:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\wlanapi.dll" at 0000000399110000: builtin
645163.826:0518:0540:fixme:wlanapi:WlanEnumInterfaces (0000000000000001, 0000000000000000, 0000000011D5D0B8) semi-stub
645163.831:0518:0540:fixme:winsock:setsockopt Ignoring SO_RANDOMIZE_PORT
645165.851:0390:0394:trace:loaddll:build_module Loaded L"Z:\\home\\southernwolf\\.secondary_drive\\SteamLibrary\\steamapps\\common\\Crossout\\EasyAntiCheat\\easyanticheat_x64.dll" at 00000002F6650000: builtin
*** stack smashing detected ***: terminated
pid 1367949 != 1367947, skipping destruction (fork without exec?)

So yeah, for whatever reason EAC seems to work ok on Proton 7.0-4 (assuming it's not causing the stack smashing there), but it crashes instantly on Proton Experimental.

vars1ty commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/1937#issuecomment-1298272954

@JoshuaKimsey - Tested with 7.0-4 and crashes on it too, just that it takes a few minutes. Here's some info about rsaenh though, might try and hand-replace it later today/tomorrow to see if it fixes anything.

vars1ty commented 1 year ago

Alright I just tried to replace the DLL with one from a brand-new Windows 10 VM, it launched and seemed to work until it crashed. Gonna look for other solutions, though this seems a lot like it's something that either Easy AntiCheat messed up, or Targem really don't know how to code.

Here's a bug report I've made on their tracker (don't expect them to care though), feel free to upvote it.

JoshuaKimsey commented 1 year ago

Cool, I can do that. It's unfortunate that didn't work, but I'm not wholly convinced it's EAC alone doing it. The reason being that last night I was able to play for over an hour straight, with no issues. But, later on when I relaunched the game, it crashed within 10 mins. I feel like if it was EAC, it would crash like it does with Proton Experimental, instantly. But, then maybe not...

IDK, hopefully either Gaijin can fix this, or perhaps the Proton devs can find a work around for it.

vars1ty commented 1 year ago

Yeah experienced the randomness of it working for hours and then randomly just deciding not to work. I guess either wait for someone to hopefully find a fix for this, since Targem aren't really the most caring developers when it comes to Linux.

vars1ty commented 1 year ago

XO is having an update today apparently, so let's hope that they do something to fix it. Will edit this message later when I know if it's been fixed or not.

UPDATE: Not fixed.

JoshuaKimsey commented 1 year ago

Dang it... Does it crash instantly or after a few mins?

vars1ty commented 1 year ago

@JoshuaKimsey - After a few minutes, like before.

Although I might have found a very hacky and weird way of mitigating some of the crashes, no promises though as I'll do some more testing (and I'll probably jinx myself for saying this). Been in-game for I don't know, around 30 minutes? No crashes so far.

vars1ty commented 1 year ago

Alright restarted the game and it decided to start dying again, just like before.

JoshuaKimsey commented 1 year ago

Yeah. I had the same experience. Occasionally it won't crash and keeps going. Then it does nothing but crash...

JoshuaKimsey commented 1 year ago

@vars1ty What was the hacky way you found to make it work? Figured I could give it a try, if nothing else. I know some people on the Steam discussion forums are talking about Bottles and ProtonGE, but also seemed to have limited success, at best.

Zykon88 commented 1 year ago

@JoshuaKimsey Normal works on Bottles + ProtonGE-38, but there is a problem after the update and this problem memory leak

vars1ty commented 1 year ago

@JoshuaKimsey - Bottles and ProtonGE only works for about 5 minutes, then it crashes. The "hack" I did was by forcing DXVK to:

Here's the config file: https://workupload.com/file/RMrBQ8CdZme Environment variable: DXVK_CONFIG_FILE=/home/USERNAME/dxvk.conf Runner: Soda 7.0-4 Ran through Bottles from Flatpak

vars1ty commented 1 year ago

Let me guess, no improvements on this?

vars1ty commented 1 year ago

For those still with this issue (perhaps you @Zykon88 and @JoshuaKimsey ?) Tested playing for around 2h/3h today and no crashes so far (probs gonna jinx myself when I get on next time). Seems like some update fixed it, here's the config I'm using:

Edit: Tested restarting the game between the 1h-mark, lasted for yet another hour afterwards until I closed the game.

user1-github commented 1 year ago
* VKD3D on `vkd3d-proton-2.7`

A bit off-topic regarding the latest issue, but I know that one of the recent updates introduced dx12, but I couldn't find any way to enable it. Since you mentioned vkd3d, did you find a way to enable dx12 in Crossout?

vars1ty commented 1 year ago

@user1-github - No, I just have all my runners set to the latest version in case there's any fixes

JoshuaKimsey commented 1 year ago

@vars1ty Ok, that's good to know. I haven't actually tried now in a week or so. What I'm gonna do is test with Proton Stable and Experimental first, then see if I need to explore Bottles and GE. According to your info, you have Bottles installed, but turned off?

JoshuaKimsey commented 1 year ago

@vars1ty I can confirm it is still broken on Proton 7.0-4 and Experimental. I'm now gonna go through and see what I can do with the info you gace.

vars1ty commented 1 year ago

@JoshuaKimsey No you have to use Bottles with latest Proton-GE from the Runners-tab (in this case, 39). The other runners only caused issues for me, so I guess it varies.

Steam Crossout though seems completely dead, as it refuses to even launch for me

JoshuaKimsey commented 1 year ago

@vars1ty Any chance you could create a tutorial for how to get this setup? I tried using Bottles, but I couldn't figure out how to get it working with Proton-GE inside of it. It didn't work running Steam through Bottles.

vars1ty commented 1 year ago

@JoshuaKimsey Yeah could do either later tonight, or in the morning

vars1ty commented 1 year ago

Here @JoshuaKimsey - https://streamable.com/i7ly53

JoshuaKimsey commented 1 year ago

@vars1ty Awesome! I'm trying this now to see if it'll work correctly. Good tutorial video.

JoshuaKimsey commented 1 year ago

@vars1ty Nope, it's still crashing for me. It won't launch without f-sync, and then it play's for maybe 5 mints top's before crashing. I can't usually make it through a single match. This sucks...

vars1ty commented 1 year ago

@JoshuaKimsey Which distro? Starting to sound like it's some outdated package/packages, since I just left Crossout untouched for days and updated my system before it started randomly working

JoshuaKimsey commented 1 year ago

@vars1ty Pop!_OS 22.04, with Nvidia hardware. It could be an out of date issue? But, I'm not sure. I have the latest Nvidia drivers that I'm aware of.

vars1ty commented 1 year ago

@JoshuaKimsey It's probably some outdated misc packages, I'm on Arch and ever since I randomly updated my PC a few days ago, XO has been working fine. Also had a friend try it since he was also crashing, same configuration on Bottles as me and 0 crashes.

JoshuaKimsey commented 1 year ago

@vars1ty That could be the case then. I may just need to wait and see if upstream updates fix the issues I'm having. Thanks for the help on this.

vars1ty commented 1 year ago

np, should probably be within a week or so (hopefully). Make sure you check for updates daily and keep on trying 👍🏽

LordGrimmauld commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/1937#issuecomment-1312279214

This setup does work without issues for me so far, manjaro on unstable branch (so pretty much the same as the reported working arch default). I also got latest Proton Stable working on steam by copying two missing DLLs from my old windows install to system32 of the compat wine prefix, but that was very crash happy for reasons i could not debug. I'll document any changes to my current setup in here. Also, the crash reporter seems to not like ProtonGE, i'll likely write a post launch script to just kill the crash reporter executable.

vars1ty commented 1 year ago

For those still with issues: Apparently the latest Proton version (Proton 7.0.5) fixes the crashes, although I don't run Crossout through Steam anymore so can't confirm but heard from a friend. Might be worth a shot trying via both Flatpak Steam and non-Flatpak.

joni999 commented 1 year ago

Proton 7.0.5 worked for me - I have had no more crashes with it on my native Steam installation. GE-Proton-7-41 on the other hand does have crashes.

user1-github commented 1 year ago

Haven't played Crossout in a while, but now when Proton 7.0-5 is out, I can confirm that it doesn't crash with this version. However, just like before, sometimes an error message pops up shortly after I start the game and it says that Crossout launcher has crashed. Now with Proton 7.0-5, every time the launcher starts, there's also an error message that Gaijin net agent (or whatever that tray thing is called) has crashed. This is of course not a very big deal because the game itself now works very well, but has anyone experienced these crashes?

vars1ty commented 1 year ago

@user1-github - If you are talking about the launcher crashing when exiting the game, yeah I get that too but it doesn't affect the game. If it crashes prior to that, then no but it shouldn't be. Gaijin Updater crashing is normal but doesn't affect anything really.

user1-github commented 1 year ago

Just a small tip if someone gets the "Failed to load anti-cheat" error in the game. It seems the game doesn't automatically download the Proton Easy Anticheat Runtime anymore, so if you get this error, just search for the runtime in your Steam library and manually install it.

mathew2214 commented 1 year ago

it is impossible for me to sign into this game. after inputing my login and password, same i use for Gaijin website, i just get an error. same goes for signing in via steam. i cannot get past the login screen. i have reached out to Gaijin support to see if there is any issue with my account, but i have yet to receive any response. due to the fact i can sign in via their website, i assume there is no issue with my account, and that my inability to log into Crossout may be an issue with Proton.

user1-github commented 1 year ago

@mathew2214 What error do you get? If it's "Failed to load anti-cheat", see my comment above.

mathew2214 commented 1 year ago

i can now sign in. Gaijin support discovered and corrected an issue with my account. but now i am getting anti-cheat errors. i have manually installed the Proton EAC runtime via the steam client.

UPDATE: game is now playable by switching to Proton-Experimental

vars1ty commented 1 year ago

For those still experiencing issues, here's what seems to be the cause from a crash I had which for once gave some info on it:

18:50:14.825  WARNING| Unsupported driver version. Reason 'SwapChainCreation crash'
18:50:14.825  WARNING| Unsupported driver version. Reason 'Crash on cube texture bind on geometry stage'

tl;dr: Looks like it's a NVIDIA issue, to nobody's surprise.

JoshuaKimsey commented 1 year ago

@vars1ty Still getting what appears to be EAC errors on my end. That and graphics performance seems really bad.