Chobby Freezes while updating on linux.
se5a opened this issue · 20 comments
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
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
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?
@se5a Sorry don't know much about ChobbyLauncher or GameAnalyticsSDK. Have now created these issues:
GameAnalytics/GA-SDK-C-SHARP#21
ZeroK-RTS/Zero-K-Infrastructure#2288
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...
Does steam version work there?
Don't know, haven't tried it yet for these reasons:
- Didn't want to have to re-download the whole game again, and the maps, or go through the hassle of transferring existing stuff over to the steam folder.
- Steam version doesn't show as being Linux compatible, and couldn't be screwed doing the above only to maybe have to mess around to get it to run.
- Too hard to find that link on instructions to transfer existing zk account over to steam, since the launcher doesn't run I can't get that popup that links to it.
- Edit: steam version wont even run in linux, there's no option to install, just play, and you get an error message instantly popping up about unsupported system.
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?
Right we have disabled linux build due to issues with xlib .. pending engine rebuild.
So... what now?
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.
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.
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.
I have the same problem on Archlinux. The bug is also referenced here : ZeroK-RTS/Zero-K-Infrastructure#2298
As suggested, a temporary fix is to delete the .sdz files in games/ and let the wrapper re-build them.
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.
Thats odd.. how far is steam linux?
User Phytophyte still reports the issue after the update of the GameAnalytics and NLog packages.
Turns out new wrapper wasn't actually deployed with the infra update a few days back. It's been deployed and may work now.