MacSergey / NodeController30

34 stars 7 forks source link

Loading game on Linux with Node Controller (and a few others) causes crash #92

Open zubozrout opened 2 weeks ago

zubozrout commented 2 weeks ago

Hi, in the recent weeks, likely after the latest patches released for Cities Skylines, this mod and a few others (like Intersection Marking Tool) are causing crashes on save game loads, ultimately making the game not playable. This doesn't seem to affect only me considering the posts under these mods in the Steam Workshop.

Unfortunately the logs don't say much in my case at least. All I ever get in the Player.log is this:

Receiving unhandled NULL exception
#0  0x007ca1c47fe480 in __sigaction
#1  0x007ca1c47ff088 in (Unknown)
#2  0x007ca1c47ff098 in CloseZStream
#3  0x007ca1c47ff0b8 in (Unknown)

It makes this pretty unpleasant as all these mods are awesome ... and pretty important to make the game more realistic and enjoyable to play, with little effort needed to use them.

Could you please try to have a look and see what could be going on? It is very sad it got broken now that CO has moved past CS:1, yet apparently the habit of breaking the mods is not yet over :(

And I mean, I would love to try the CS:2 too sometime, but with no Linux support 🐧 it doesn't sound appealing enough for me to even bother ... [ which is where I'll stop my rant ]

Thank you so much 🙏

MacSergey commented 2 weeks ago

the recent patch affected absolutelly nothing. it looks like this linux issue https://github.com/MacSergey/NodeMarkup/issues/96

zubozrout commented 2 weeks ago

Thank you for your reply @MacSergey. Well, why I can't say why, it stopped working after the patch while I've been playing CS just fine up until then. I've had mono-devel package installed all along, but while reading both comments in the Steam Workshop as well as here in the issues the other day I've also tried uninstalling that, but that caused the same crash.

And this (seemingly) related Linux/Proton thread is messy atm, considering I play native. Unfortunately an update (and at this point I have no reason to believe it was any other but a game update) broke this considering every Linux player being affected.

zubozrout commented 2 weeks ago

And there definitely were some patches: https://forum.paradoxplaza.com/forum/threads/mountain-patch-1-18-1-f3.1711496/

Notably: Upgraded Paradox Launcher to fix failure to launch on Linux

CamBanfield commented 2 weeks ago

I have the same issues too. I'm playing Linux natively and have both mono and mono-devel installed. I'm running Fedora 41. It was working a few months ago when I last played Cities Skylines.

CamBanfield commented 2 weeks ago

I think it might be related to an updated of the Steam Linux runtime. I've came across the two following bug reports, but for a different game however relating to mono.

https://github.com/ValveSoftware/steam-runtime/issues/708 https://github.com/ValveSoftware/steam-runtime/issues/706

CamBanfield commented 2 weeks ago

Good news. I've been testing and specifying the following parameter when starting your Steam client allows you to play without it crashing:

-compat-force-slr off

For testing, close any open Steam clients, open a terminal, run steam -compat-force-slr off and then open Cities Skylines, it should hopefully work :)

zubozrout commented 2 weeks ago

Thank you @CamBanfield. Almost there. Sadly it does no longer work with Nvidia for me, more specifically having DRI_PRIME=1 %command% in game properties/launch options inside Steam. With that all I get is a black screen upon game load (after the Loading Screen).

CamBanfield commented 2 weeks ago

Unsure if it'll make any difference, but what happens if you remove all arguments from the Cities Skylines launch options and then start Steam with DRI_PRIME=1 steam -compat-force-slr off I'm unable to test, I have AMD graphics

zubozrout commented 2 weeks ago

what happens if you remove all arguments from the Cities Skylines launch options and then start Steam with DRI_PRIME=1 ...

Even the Steam window gets black for me. Not sure if this is related:

glx: failed to create dri3 screen
failed to load driver: nouveau

In any case, considering this is more of a workaround until Valve fixes this issue, it doesn't matter all that much.

CamBanfield commented 2 weeks ago

Maybe try adding either both or one of these: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 And yeah, it's a workaround until this is fixed by Valve. Hopefully not too long!

zubozrout commented 2 weeks ago

Wow, thank you @CamBanfield. That appears to have done the trick :tada:

obrazek

CamBanfield commented 2 weeks ago

:D Awesome! Enjoy :) Let's hope the fix comes soon

AngelQC commented 2 weeks ago

I think it might be related to an updated of the Steam Linux runtime. I've came across the two following bug reports, but for a different game however relating to mono.

ValveSoftware/steam-runtime#708

My bug report is misleading, the mono-related error only happens because I have been bypassing the steam wrapper/container for a long time and starting the main executable directly in my distribution's environment (Arcolinux), which now has broken because of a new version of the game, using some other mono version, I would guess.
The real problem is not being able to start the game (Valheim) withing the normal Steam parameters/sandbox when starting from the r2modman mod manager.
I am yet to figure out the problem, hopefull smvc (spl?) can come up with a great idea about it, while trying to debug me.
I will reinstall steam, because I don't know what else to do at this point..

Good luck with your issue.

zubozrout commented 1 week ago

As of yesterday I am not even able to launch CS:1 on Linux 🤔. Receiving errors with .local/share/Steam/steamapps/common/Cities_Skylines/Cities_Data/Mono/x86_64/libmono.so. Oh well - someone or something is making breaking changes. This is even without the mods. And I've tried removing CS completely, including a clean Steam install.

obrazek

EDIT: It has a workaround and appears to be a Paradox Launcher issue: https://forum.paradoxplaza.com/forum/threads/the-game-fails-loading-the-second-time-or-later-after-first-install-with-a-libmono-so-crash-exit-code-134.1718029/

zubozrout commented 6 days ago

And now while I was able to determine the reason it stopped launching for me is a Paradox Launcher update, when running with the older launcher or even without it the -compat-force-slr off bypass no longer seems to do the trick for me either :(, and continues to crash with the NULL Exception error when having Node Controller and Intersection Marking Tool enabled.

Receiving unhandled NULL exception
#0  0x007187ac323440 in __sigaction
#1  0x007187ac324028 in (Unknown)

This seems terrible and I still wonder what's going on there.

zubozrout commented 5 days ago

And resolved for me, even if I am back to the steam -compat-force-slr off hack + I need to keep avoiding the PI launcher. In any case, in my attempts I tried a lot of approaches and it seems that turning off the compat libs doesn't end up allowing Steam games accessing mono outside the Snap environment. Installing Steam the normal way (which is what I used to have before the PI launcher stopped working for me) works though.

zubozrout commented 2 days ago

Can anyone confirm the Steam launch hack is no longer needed? (perhaps the ticket could be closed then?)

While I spammed this thread with unrelated things (I didn't know for sure in advance, sorry about that), after I got that resolved with all the pain I am now again simply launching Steam the way I used to before, while having mono-devel installed. And it runs just fine for me with both the Node Controller and the Intersection Marking Tool enabled.

AngelQC commented 1 day ago

Hmm the hack means the game is not launched within the Steam container/environment so if it does launch without this hack, it could be fixed yes. With the hack, your distribution happens to have the correct libraries installed and it work.. until it won't!
Exactly what happened to me with Valheim. Didn't know what I was doing, I modified a script sone months ago which ended up launching the game itself instead of the steam wrapper and it worked until a couple of weeks ago.