Weird `ExecutionEngineException: String conversion error: Illegal byte sequence encounted in the input` on Windows
Lisias opened this issue · 1 comments
Fellow Kerbonaut Astraph is being throw under the bus by a pretty weird Exception:
[ERR 16:54:46.309] Couldn't extract exception string from exception of type TargetInvocationException (another exception of class 'ExecutionEngineException' was thrown while p
[EXC 16:54:46.310]
[LOG 16:54:46.310] [AddonLoader]: Instantiating addon 'Startup' from assembly 'KSPe.Light.DOE'
[LOG 16:54:46.310] [AddonLoader]: Instantiating addon 'Startup' from assembly 'DockingCamKURS'
[LOG 16:54:46.310] [AddonLoader]: Instantiating addon 'DynamicBatteryStorage' from assembly 'DynamicBatteryStorage'
[LOG 16:54:46.312] [AddonLoader]: Instantiating addon 'GlobalEVEManager' from assembly 'EVEManager'
[LOG 16:54:46.341] [AddonLoader]: Instantiating addon 'ShaderLoaderClass' from assembly 'ShaderLoader'
[LOG 16:54:46.341] [AddonLoader]: Instantiating addon 'ShaderProperties' from assembly 'Utils'
[LOG 16:54:46.342] [AddonLoader]: Instantiating addon '_BuildManager' from assembly '_BuildManager'
[EXC 16:54:46.346] ExecutionEngineException: String conversion error: Illegal byte sequence encounted in the input.
System.Reflection.Assembly.get_Location () (at <9577ac7a62ef43179789031239ba8798>:0)
_BuildManager._BuildManager+<>c__DisplayClass2_0.<logVersion>b__1 (System.Reflection.Assembly x) (at <b7753086ed104f0cb27def0fb5040bc9>:0)
System.Linq.Utilities+<>c__DisplayClass1_0`1[TSource].<CombinePredicates>b__0 (TSource x) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Linq.Enumerable+WhereSelectArrayIterator`2[TSource,TResult].ToList () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
_BuildManager._BuildManager.logVersion () (at <b7753086ed104f0cb27def0fb5040bc9>:0)
_BuildManager._BuildManager.Awake () (at <b7753086ed104f0cb27def0fb5040bc9>:0)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.GameObject:AddComponent(Type)
AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup)
AddonLoader:StartAddons(Startup)
<LoadObjects>d__90:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
<CreateDatabase>d__71:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
GameDatabase:StartLoad()
<LoadSystems>d__11:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
LoadingScreen:Start()
I don't have the slightest idea about what this can be, but I'm guessing that some String on an Assembly Metadata is kaput, and by trying to handle something related to such Assembly KSP is caught with its pants down.
This thing is completely unrelated to KSPe, but I had to find a place to register the thing - so KSPe appears to be the right one. It's where I'm fighting the good fight against Unity, Mono and Windows anyway! :)
There's very good chance that we may be dealing with an environmental problem (or, at least, trigger).
So I made this thing : ksp-offline-check.zip (source on this repo).
In order to use it, one need to unzip it somewhere and then:
./ksp-offline-check.exe DLL ~/Workspaces/KSP/runtime/1.12.3 ~/Workspaces/KSP/runtime/1.7.3
Where, obviously, ~/Workspaces/….
should be replaced by the pathname of your KSP's rigs you wanna test (yeah, you can run it on more than one). If the pathname have spaces or similar weirdyties you need to use double quotes on the pathnames:
./ksp-offline-check.exe DLL "C:\\Programs Files\\Games\\KSP\\1.12.3" "C:\\Programs Files\\Games\\KSP\\1.7.3"
The output will be something similar to this:
KSPe's Console Tool for KSP v2.4.2.1 /L
DLL Integrity check.
Checking /Users/lisias/Workspaces/KSP/runtime/1.12.3...
/ModuleManager.dll... Ok.
/000_KSPe.dll... Ok.
/666_ModuleManagerWatchDog.dll... Ok.
/999_Scale_Redist.dll... Ok.
/999_CLSInterfaces.dll... Ok.
/999_SMInterface.dll... Ok.
/TweakScaleCompanion/Frameworks/TweakScaleCompanion_Frameworks.dll... Ok.
/ModuleManagerWatchDog/Plugins/WatchDogForScaleRedist.dll... Ok.
/ModuleManagerWatchDog/Plugins/WatchDogForInterstellarRedist.dll... Ok.
/000_KSPAPIExtensions/Plugins/KSPe.System.dll... Ok.
/000_KSPAPIExtensions/Plugins/KSPe.UI.dll... Ok.
/000_KSPAPIExtensions/Plugins/KSPe.HMI.dll... Ok.
/000_KSPAPIExtensions/Plugins/KSPAPIExtensions.dll... Ok.
/net.lisias.ksp/VesselMover/VesselMover.dll... Ok.
/Waterfall/Plugins/Waterfall.dll... Ok.
/KourageousTourists/Plugins/KourageousTourists.dll... Ok.
/ModuleManager/PluginData/ModuleManager.dll... Ok.
/Squad/Plugins/KSPSteamCtrlr.dll... Ok.
/TweakScaleCompanion/Frameworks/Waterfall/TweakScalerWaterfallFX.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.16.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.UI.14.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.17.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.Unity.2017.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.15.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.14.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.111.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.UI.12.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.11.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.110.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.112.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.13.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.Unity.5.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.12.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.Unity.2019.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.19.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.18.dll... Ok.
/KourageousTourists/Plugins/PluginData/KourageousTourists.KSP.Chute.13.RealChute.dll... Ok.
/KourageousTourists/Plugins/PluginData/KourageousTourists.KSP.Chute.14.RealChute.dll... Ok.
/KourageousTourists/Plugins/PluginData/KourageousTourists.KSP.EVA.13.KIS.dll... Ok.
/KourageousTourists/Plugins/PluginData/KourageousTourists.KSP.Chute.14.dll... Ok.
/KourageousTourists/Plugins/PluginData/KourageousTourists.KSP.EVA.13.dll... Ok.
/KourageousTourists/Plugins/PluginData/KourageousTourists.KSP.EVA.16.dll... Ok.
/TweakScaleCompanion/Frameworks/Waterfall/PluginData/TweakScalerWaterfallFXIntegrator.dll... Ok.
Checking /Users/lisias/Workspaces/KSP/runtime/1.7.3...
/ModuleManager.dll... Ok.
/000_Hyperspace.dll... Ok.
/000_KSPe.dll... Ok.
/666_ModuleManagerWatchDog.dll... Ok.
/999_Scale_Redist.dll... Ok.
/AviationLights/AviationLights.dll... Ok.
/KAX/KAX.dll... Ok.
/KAX/KSPe.Light.KAX.dll... Ok.
/DistantObject/Plugins/KSPe.Light.DOE.dll... Ok.
/DistantObject/Plugins/DistantObject.dll... Ok.
/ModuleManagerWatchDog/Plugins/WatchDogForScaleRedist.dll... Ok.
/ModuleManagerWatchDog/Plugins/WatchDogForInterstellarRedist.dll... Ok.
/000_KSPAPIExtensions/Plugins/KSPe.System.dll... Ok.
/000_KSPAPIExtensions/Plugins/KSPe.UI.dll... Ok.
/000_KSPAPIExtensions/Plugins/KSPe.HMI.dll... Ok.
/000_KSPAPIExtensions/Plugins/KSPAPIExtensions.dll... Ok.
/net.lisias.ksp/VesselMover/VesselMover.dll... Ok.
/net.lisias.ksp/KerbalObjectInspector/KerbalObjectInspector.dll... Ok.
/net.lisias.ksp/CrewLight/CrewLight.dll... Ok.
/net.lisias.ksp/PartInfo/PartInfo.dll... Ok.
/net.lisias.ksp/SmokeScreen/SmokeScreen.dll... Ok.
/net.lisias.ksp/WorldStabilizer/WorldStabilizer.dll... Ok.
/net.lisias.ksp/GPWS/GPWS.dll... Ok.
/net.lisias.ksp/KramaxAutoPilot/KramaxAutoPilot.dll... Ok.
/Firespitter/Plugins/Firespitter.dll... Ok.
/TweakScale/Plugins/Scale.dll... Ok.
/TweakScale/Plugins/KSPe.Light.TweakScale.dll... Ok.
/HLAirshipsCore/Plugins/HLAirships.dll... Ok.
/HLAirshipsCore/Plugins/HLA.WatchDog.dll... Ok.
/HLAirshipsCore/Plugins/KSPe.Light.HLAirshipsCore.dll... Ok.
/ModuleManager/PluginData/ModuleManager.dll... Ok.
/999_KSP-Recall/Plugins/ChillingOut.dll... Ok.
/999_KSP-Recall/Plugins/Attached.dll... Ok.
/999_KSP-Recall/Plugins/KSPe.Light.Recall.dll... Ok.
/999_KSP-Recall/Plugins/Refunding.dll... Ok.
/999_KSP-Recall/Plugins/AttachedOnEditor.dll... Ok.
/999_KSP-Recall/Plugins/Resourceful.dll... Ok.
/999_KSP-Recall/Plugins/Driftless.dll... Ok.
/999_KSP-Recall/Plugins/KSP-Recall.dll... Ok.
/Squad/Plugins/KSPSteamCtrlr.dll... Ok.
/TweakScaleCompanion/FS/Plugins/TweakScalerFSBuoyancy.dll... Ok.
/TweakScaleCompanion/FS/Plugins/TweakScaleCompanion_FS.dll... Ok.
/DistantObject/Plugins/PluginData/MeshEngineTweakScale.dll... Ok.
/DistantObject/Plugins/PluginData/MeshEngine.dll... Ok.
/DistantObject/Plugins/PluginData/MeshEngineStock.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.16.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.UI.14.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.17.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.Unity.2017.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.15.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.14.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.111.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.UI.12.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.11.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.110.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.112.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.13.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.Unity.5.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.12.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/XInputDotNetPure.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.Unity.2019.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.19.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/KSPe.KSP.18.dll... Ok.
/000_KSPAPIExtensions/Plugins/PluginData/XInputInterface.x86_64.dll... Not a C# Assembly.
/000_KSPAPIExtensions/Plugins/PluginData/XInputInterface.x86.dll... Not a C# Assembly.
/net.lisias.ksp/NavInstruments/Plugins/NavUtilLib.dll... Ok.
/net.lisias.ksp/NavInstruments/Plugins/NavUtilRPM.dll... Ok.
/TweakScale/Plugins/PluginData/Scale.PartDB.13x.dll... Ok.
/TweakScale/Plugins/PluginData/Scale_Sanitizer.dll... Ok.
/TweakScale/Plugins/PluginData/Scale.PartDB.19x.dll... Ok.
/TweakScale/Plugins/PluginData/Scale.PartDB.15x.dll... Ok.
/TweakScale/Plugins/PluginData/Scale.PartDB.14x.dll... Ok.
/TweakScale/Plugins/PluginData/Scale.PartDB.18x.dll... Ok.
/TweakScaleCompanion/FS/Plugins/PluginData/TweakScalerFSBuoyancyIntegrator.dll... Ok.
Assemblies that eventually fail the check will have an Exception name instead of an Ok
on the line.
You can (or should) redirect the output to a file, so you can attach it on a post here or send me by mail:
./ksp-offline-check.exe DLL "C:\\Programs Files\\Games\\KSP\\1.12.3" "C:\\Programs Files\\Games\\KSP\\1.7.3" > results.txt
A file called results.txt
will be created on the current directory with the output.