mockingbirdnest / Principia

𝑛-Body and Extended Body Gravitation for Kerbal Space Program
MIT License
774 stars 70 forks source link

"Analyze Final Trajectory" exception #3823

Closed lpgagnon closed 9 months ago

lpgagnon commented 11 months ago

(with hotfixed Jordan)

Clicking the "analyze final trajectory" button after setting up a fast Uranus flyby results in a broken window stub and ksp.log exception spam. Window fixes itself if maneuver is deleted, or a capture maneuver added.

Plausible that it's in a trajectory that "can't" be analyzed, but presumably should be handled more gracefully.

Screenshot 2023-12-17 at 10 02 28
[EXC 10:01:31.256] ArgumentNullException: Value cannot be null.
Parameter name: key
    System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) (at <9577ac7a62ef43179789031239ba8798>:0)
    System.Collections.Generic.Dictionary`2[TKey,TValue].TryGetValue (TKey key, TValue& value) (at <9577ac7a62ef43179789031239ba8798>:0)
    principia.ksp_plugin_adapter.L10N.Name (CelestialBody body) (at <35069f34aa13473d8bd5da8757cc5698>:0)
    principia.ksp_plugin_adapter.L10N+<>c.<CelestialString>b__15_0 (CelestialBody body) (at <35069f34aa13473d8bd5da8757cc5698>:0)
    System.Linq.Enumerable+<SelectManyIterator>d__167`3[TSource,TCollection,TResult].MoveNext () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    System.Collections.Generic.LargeArrayBuilder`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] items) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    System.Collections.Generic.SparseArrayBuilder`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] items) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    System.Collections.Generic.SparseArrayBuilder`1[T].ReserveOrAdd (System.Collections.Generic.IEnumerable`1[T] items) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    System.Linq.Enumerable+Concat2Iterator`1[TSource].ToArray () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
    principia.ksp_plugin_adapter.L10N.CelestialString (System.String template, CelestialBody[] bodies, System.Object[] args) (at <35069f34aa13473d8bd5da8757cc5698>:0)
    principia.ksp_plugin_adapter.OrbitAnalyser.RenderOrbitalElements (System.Nullable`1[T] elements, CelestialBody primary) (at <35069f34aa13473d8bd5da8757cc5698>:0)
    principia.ksp_plugin_adapter.OrbitAnalyser.RenderWindowContents (System.Int32 window_id) (at <35069f34aa13473d8bd5da8757cc5698>:0)
    principia.ksp_plugin_adapter.SupervisedWindowRenderer.RenderWindow (System.Int32 window_id) (at <35069f34aa13473d8bd5da8757cc5698>:0)
    principia.ksp_plugin_adapter.BaseWindowRenderer.RenderWindowAndRecordTooltip (System.Int32 window_id) (at <35069f34aa13473d8bd5da8757cc5698>:0)
    UnityEngine.GUILayout+LayoutedWindow.DoWindow (System.Int32 windowID) (at <b604df7eddc24cf88eedd77418426c5a>:0)
    UnityEngine.GUI.CallWindowDelegate (UnityEngine.GUI+WindowFunction func, System.Int32 id, System.Int32 instanceID, UnityEngine.GUISkin _skin, System.Int32 forceRect, System.Single width, System.Single height, UnityEngine.GUIStyle style) (at <b604df7eddc24cf88eedd77418426c5a>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
eggrobin commented 11 months ago

Ah yes, this is #3272.