Ckan: [Bug] Builds with Mono >=6.6 don't run on Windows

Created on 28 Jan 2020  路  12Comments  路  Source: KSP-CKAN/CKAN

Background

  • Operating System: Windows 10 1909
  • CKAN Version: 1.26.8
  • KSP Version: 1.8.1

Have you made any manual changes to your GameData folder (i.e., not via CKAN)?
Have not made changes to GameData Folder

Problem

Describe the bug
CKAN performed a self update -- and a stack trace appears for a split second in a command prompt window.

Steps to reproduce

  • Let CKAN self update
  • Run CKAN as normal

Expected behavior

  • Expected normal behavior for opening CKAN. Instead get the attached screenshot below.

Stack trace

Unhandled Exception: System.ArgumentException: Object of type 'System.Globalization.CalendarId[]' cannot be converted to type 'System.Int32[]'.
   at System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast)
   at System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo culture, BindingFlags invokeAttr)
   at System.Reflection.RtFieldInfo.UnsafeSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture)
   at System.Runtime.Serialization.FormatterServices.SerializationSetValue(MemberInfo fi, Object target, Object value)
   at System.Runtime.Serialization.ObjectManager.CompleteObject(ObjectHolder holder, Boolean bObjectFullyComplete)
   at System.Runtime.Serialization.ObjectManager.DoNewlyRegisteredObjectFixups(ObjectHolder holder)
   at System.Runtime.Serialization.ObjectManager.RegisterObject(Object obj, Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo member, Int32[] arrayIndex)
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Object obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString)
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord pr)
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseRecord pr)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Resources.ResourceReader.DeserializeObject(Int32 typeIndex)
   at System.Resources.ResourceReader._LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
   at System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
   at System.Resources.ResourceReader.LoadObject(Int32 pos)
   at System.Resources.ResourceReader.ResourceEnumerator.get_Entry()
   at System.Resources.ResourceReader.ResourceEnumerator.get_Current()
   at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
   at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
   at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
   at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName, CultureInfo culture)
   at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName)
   at CKAN.Main.InitializeComponent()
   at CKAN.Main..ctor(String[] cmdlineArgs, KSPManager mgr, Boolean showConsole)
   at CKAN.GUI.Main_(String[] args, KSPManager manager, Boolean showConsole)
   at CKAN.CmdLine.MainClass.RunSimpleAction(Options cmdline, CommonOptions options, String[] args, IUser user, KSPManager manager)
   at CKAN.CmdLine.MainClass.Execute(KSPManager manager, CommonOptions opts, String[] args)
   at CKAN.CmdLine.MainClass.Main(String[] args)

Screenshots (if applicable)

Annotation 2020-01-27 214832

Bug GUI Mono Windows

Most helpful comment

Can someone try out this build and report back if it works?
ckan.zip

Opened properly -- loaded modules and functions as expected.

All 12 comments

Same issue here.

I'm on windows, and it will not open. Deleted and reinstalled KSP and it still will not work. I have everything it said I need in order to run the app. Please fix this. I am on KSP version 1.7.3, so this appears to be a problem with all versions.

Is the .net 4.5 in the release notes a new, hard requirement? I'm only running 4.0, but CKAN has been functioning fine for many previous versions.

Is the .net 4.5 in the release notes a new, hard requirement? I'm only running 4.0, but CKAN has been functioning fine for many previous versions.

If you're running Win10 -- .net 4.5 is installed by default

Right - I was mis-reading my framework client key info. 4.8 by that measure.

@cmoore-mayesh, can you re-download ckan.exe from https://github.com/KSP-CKAN/CKAN/releases/tag/v1.26.8 and try again?

I am seeing the same issue reported above. Basic MS Windows 10 installation. Just let CKAN auto update. I even downloaded a fresh copy to no avail.

@cmoore-mayesh, can you re-download ckan.exe from https://github.com/KSP-CKAN/CKAN/releases/tag/v1.26.8 and try again?

I did prior to filing the bug. I just did it again for giggles, same error.

Can someone try out this build and report back if it works?
[link removed, the ckan.exe for v1.26.8 has been replaced with a working one]

Can someone try out this build and report back if it works?
ckan.zip

Opened properly -- loaded modules and functions as expected.

launched into the GUI, first try!

Thank you all for reporting this issue. We replaced the .exe file in the release assets now.
If you redownload it now, it should work again.

The source of this error is still unknown though.

Was this page helpful?
0 / 5 - 0 ratings