ZeroK-RTS / Chobby

Spring RTS Ingame lobby project
17 stars 38 forks source link

Chobby Freezes while updating on linux. #590

Open se5a opened 6 years ago

se5a commented 6 years ago

image And freezes at that point, have to xkill to close if not running from terminal.

Ran and updated fine earlier today, then tried to play again and this keeps happening.

here is Terminal output:

Chobby.exe Error: 0 : Error starting GameAnalytics: System.TypeInitializationException: The type initializer for 'GameAnalyticsSDK.Net.Threading.GAThreading' threw an exception. ---> System.TypeInitializationException: The type initializer for 'GameAnalyticsSDK.Net.Logging.GALogger' threw an exception. ---> NLog.NLogConfigurationException: Error when setting property 'Format' on Layout Renderer: ${date} ---> System.ArgumentException: Object of type 'System.ReadOnlySpan`1[System.Char]' cannot be converted to type 'System.String'.
  at System.RuntimeType.CheckValue (System.Object value, System.Reflection.Binder binder, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) [0x00071] in <71d8ad678db34313b7f718a414dfcb25>:0 
  at System.Reflection.MonoMethod.ConvertValues (System.Reflection.Binder binder, System.Object[] args, System.Reflection.ParameterInfo[] pinfo, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) [0x00069] in <71d8ad678db34313b7f718a414dfcb25>:0 
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00011] in <71d8ad678db34313b7f718a414dfcb25>:0 
  at System.Reflection.MonoProperty.SetValue (System.Object obj, System.Object value, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] index, System.Globalization.CultureInfo culture) [0x0005d] in <71d8ad678db34313b7f718a414dfcb25>:0 
  at System.Reflection.PropertyInfo.SetValue (System.Object obj, System.Object value, System.Object[] index) [0x00000] in <71d8ad678db34313b7f718a414dfcb25>:0 
  at NLog.Internal.PropertyHelper.SetPropertyFromString (System.Object obj, System.String propertyName, System.String value, NLog.Config.ConfigurationItemFactory configurationItemFactory) [0x00129] in <780b851811e34ba8b86f59a244475f4d>:0 
   --- End of inner exception stack trace ---
  at NLog.Internal.PropertyHelper.SetPropertyFromString (System.Object obj, System.String propertyName, System.String value, NLog.Config.ConfigurationItemFactory configurationItemFactory) [0x001e3] in <780b851811e34ba8b86f59a244475f4d>:0 
  at NLog.Layouts.LayoutParser.ParseLayoutRenderer (NLog.Config.ConfigurationItemFactory configurationItemFactory, NLog.Internal.SimpleStringReader sr) [0x00168] in <780b851811e34ba8b86f59a244475f4d>:0 
  at NLog.Layouts.LayoutParser.CompileLayout (NLog.Config.ConfigurationItemFactory configurationItemFactory, NLog.Internal.SimpleStringReader sr, System.Boolean isNested, System.String& text) [0x000bb] in <780b851811e34ba8b86f59a244475f4d>:0 
  at NLog.Layouts.SimpleLayout.set_Text (System.String value) [0x0002b] in <780b851811e34ba8b86f59a244475f4d>:0 
  at NLog.Layouts.SimpleLayout..ctor (System.String txt, NLog.Config.ConfigurationItemFactory configurationItemFactory) [0x0000d] in <780b851811e34ba8b86f59a244475f4d>:0 
  at NLog.Layouts.Layout.FromString (System.String layoutText, NLog.Config.ConfigurationItemFactory configurationItemFactory) [0x00000] in <780b851811e34ba8b86f59a244475f4d>:0 
  at NLog.Layouts.Layout.FromString (System.String layoutText) [0x00006] in <780b851811e34ba8b86f59a244475f4d>:0 
  at NLog.Layouts.Layout.op_Implicit (System.String text) [0x00000] in <780b851811e34ba8b86f59a244475f4d>:0 
  at GameAnalyticsSDK.Net.Logging.GALogger..ctor () [0x00039] in <780b851811e34ba8b86f59a244475f4d>:0 
  at GameAnalyticsSDK.Net.Logging.GALogger..cctor () [0x00000] in <780b851811e34ba8b86f59a244475f4d>:0 
   --- End of inner exception stack trace ---
  at GameAnalyticsSDK.Net.Threading.GAThreading..ctor () [0x00027] in <780b851811e34ba8b86f59a244475f4d>:0 
  at GameAnalyticsSDK.Net.Threading.GAThreading..cctor () [0x00006] in <780b851811e34ba8b86f59a244475f4d>:0 
   --- End of inner exception stack trace ---
  at GameAnalyticsSDK.Net.GameAnalytics.Initialize (System.String gameKey, System.String gameSecret) [0x00019] in <780b851811e34ba8b86f59a244475f4d>:0 
  at ChobbyLauncher.Program.Main (System.String[] args) [0x0005b] in <780b851811e34ba8b86f59a244475f4d>:0 
Could not set X locale modifiers
Chobby.exe Information: 0 : Checking for self-upgrade
Chobby.exe Information: 0 : PackageRefresh complete - packages changed
Chobby.exe Information: 0 : Querying default engine

on Linux Mint 18.3

snakefoot commented 6 years ago

Need to use NLog 4..4.13 (or newer) when using Mono 5.10 (or newer). Either upgrade NLog or downgrade Mono to 5.8

se5a commented 6 years ago

you'll have to give me a bigger hint than that, normaly I'd look for the .dll or .so and replace it, but I don't see it, are you baking it into the chobby.exe?

snakefoot commented 6 years ago

@se5a Sorry don't know much about ChobbyLauncher or GameAnalyticsSDK. Have now created these issues:

https://github.com/GameAnalytics/GA-SDK-C-SHARP/issues/21 https://github.com/ZeroK-RTS/Zero-K-Infrastructure/issues/2288

se5a commented 6 years ago

I suspect the error messages at the start are non critical, as it doesn't actually freeze up till it gets to Chobby.exe Information: 0 : Querying default engine it's still active on the two lines before that. Also since it was running fine earlier...

Licho1 commented 6 years ago

Does steam version work there?

se5a commented 6 years ago

Don't know, haven't tried it yet for these reasons:

se5a commented 6 years ago

If I'm reading between the lines correctly, if I get one of the steam donations, I'll get access to the steam linux beta?

gajop commented 6 years ago

No lol. You don't have to pay. Maybe you need a key (ask, its' free), or maybe you just need to click somewhere in Steam to get this optional build.

On Tue, May 15, 2018 at 8:32 AM, se5a notifications@github.com wrote:

If I'm reading between the lines correctly, if I get one of the steam donations, I'll get access to the steam linux beta?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ZeroK-RTS/Chobby/issues/590#issuecomment-388995208, or mute the thread https://github.com/notifications/unsubscribe-auth/AAD9he_mq8junynD29ddOXaAituKf47aks5tyhQVgaJpZM4T8rX7 .

Licho1 commented 6 years ago

Right we have disabled linux build due to issues with xlib .. pending engine rebuild.

se5a commented 6 years ago

So... what now?

gajop commented 6 years ago

I think you have been given pretty clear instructions by @snakefoot, simply downgrade Mono to 5.8. Otherwise wait until Licho (or whoever is responsible) fix Nlog versioning (if this is a thing that's fixable, I don't know much about Mono).

On Tue, May 15, 2018 at 4:05 PM, se5a notifications@github.com wrote:

So... what now?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ZeroK-RTS/Chobby/issues/590#issuecomment-389065076, or mute the thread https://github.com/notifications/unsubscribe-auth/AAD9hTCXguQ-bYzEB8sLTmHUic-pciq4ks5tyn4igaJpZM4T8rX7 .

se5a commented 6 years ago

Yeah I'm not downgrading mono. Also I don't think that's the problem, as stated before. it's freezing up, not crashing, and continues to output to the terminal after those errors are outputted. Also, since it worked earlier in the day, then stopped...

Where's the complete source for the launcher including the sln for this so I can try run in debug through monodevelop? it's C# isn't it? think I read that somewhere, the project layout here is... confusing.

gajop commented 6 years ago

Person developing NLog is telling otherwise.

The relevant repo is located https://github.com/ZeroK-RTS/Zero-K-Infrastructure/tree/master/ChobbyLauncher , good luck.

On Tue, May 15, 2018 at 5:12 PM, se5a notifications@github.com wrote:

Yeah I'm not downgrading mono. Also I don't think that's the problem, as stated before. it's freezing up, not crashing, and continues to output to the terminal after those errors are outputted.

Where's the complete source for the launcher including the sln for this so I can try run in debug through monodevelop? it's C# isn't it? think I read that somewhere, the project layout here is... confusing.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ZeroK-RTS/Chobby/issues/590#issuecomment-389082250, or mute the thread https://github.com/notifications/unsubscribe-auth/AAD9hX43LsL2WtSfVpjwgsN8qUIFYzi6ks5tyo38gaJpZM4T8rX7 .

se5a commented 6 years ago

My point, is that the launcher is catching those errors and continuing.

Looks like some of the resx files have not been careful with case sensitivity with folder names.

se5a commented 6 years ago

yeah, Can't build on linux due to incompatibilities with other dependencies (System.Speech for instance), so couldn't debug run in monodevelop.

Managed to build in a windows virtual machine and updated the NLog dependency. copying zero-k.exe and all the .dll and .so files across to the game folder and ran it there. seems to be working.

Updating NLog appears to be a trivial matter on the dev end, and has seemed to have fixed the problem.

Askannz commented 6 years ago

I have the same problem on Archlinux. The bug is also referenced here : https://github.com/ZeroK-RTS/Zero-K-Infrastructure/issues/2298

As suggested, a temporary fix is to delete the .sdz files in games/ and let the wrapper re-build them.

Histidine91 commented 5 years ago

EDIT: Re-reading the issue, it seems like ZK needs to update the GameAnalytics it so that the package uses the newest NLog. Will attempt that.

Tracing with mono --trace=N:ChobbyLauncher,-M:ChobbyLauncher.FrameBorderRenderer:SizeMult,-M:ChobbyLauncher.ChobbylaForm:OnPaintBackground,-M:ChobbyLauncher.FrameBorderRenderer:RenderToGraphics,-M:ChobbyLauncher.FrameBorderRenderer:FillRectangleTiled,-M:ChobbyLauncher.ChobbylaForm:timer1_Tick,-M:ChobbyLauncher.ChobbylaForm:get_progress,-M:ChobbyLauncher.BitmapButton:OnPaint Zero-K.exe

has the following error repeated a bunch of times near the end:

0x7f9ab62c0700:] EXCEPTION handling: System.AggregateException: One or more errors occurred.
[0x7f9ab62c0700:] EXCEPTION handling: System.Net.WebException: The remote server returned an error: (304) Not Modified.
[0x7f9ab62c0700:] EXCEPTION handling: System.Net.WebException: The remote server returned an error: (304) Not Modified.
[0x7f9ab62c0700:] EXCEPTION handling: System.Net.WebException: The remote server returned an error: (304) Not Modified.
[0x7f9a671f8700:] EXCEPTION handling: System.AggregateException: One or more errors occurred.
[0x7f9a671f8700:] EXCEPTION handling: System.Net.WebException: The remote server returned an error: (304) Not Modified.

followed by a hang:

[0x7f9ada864780: 19.53370 2] ENTER: ChobbyLauncher.Chobbyla:GetSteamEngine ()(this:0x7f9ad8dca990[ChobbyLauncher.Chobbyla Zero-K.exe], )
[0x7f9ada864780: 19.53372 2] LEAVE: ChobbyLauncher.Chobbyla:GetSteamEngine ()[OBJECT:(nil)]
[0x7f9ada864780: 19.53388 2] ENTER: ChobbyLauncher.Chobbyla:QueryDefaultEngine ()(this:0x7f9ad8dca990[ChobbyLauncher.Chobbyla Zero-K.exe], )
[0x7f9ada864780: 19.53390 3] ENTER: ChobbyLauncher.Chobbyla:set_Status (string)(this:0x7f9ad8dca990[ChobbyLauncher.Chobbyla Zero-K.exe], [STRING:0x7f9ada7aaed0:Querying default engine], )
Zero-K.exe Information: 0 : Querying default engine
[0x7f9ada864780: 19.53396 3] LEAVE: ChobbyLauncher.Chobbyla:set_Status (string)

It doesn't hang if my Internet connection is down.

Licho1 commented 5 years ago

Thats odd.. how far is steam linux?

Histidine91 commented 5 years ago

User Phytophyte still reports the issue after the update of the GameAnalytics and NLog packages.

Histidine91 commented 5 years ago

Turns out new wrapper wasn't actually deployed with the infra update a few days back. It's been deployed and may work now.