MobiFlight / MobiFlight-Connector

MobiFlight is an open source project that allows you to create your own home cockpit for your favorite flight simulator in a flexible, affordable and extremely user-friendly way.
https://mobiflight.com
MIT License
232 stars 103 forks source link

Crash when interpolating rules conflict #1393

Closed tigert closed 11 months ago

tigert commented 11 months ago

Describe the bug While editing interpolation rules (was trying to invert a range) I ended up with a situation halfway into editing where I had:

Clearly this is not a sensible interpolation, but it still should not crash.

image

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
MobiFlight.Modifier.XvalueAlreadyExistsException: Exception of type 'MobiFlight.Modifier.XvalueAlreadyExistsException' was thrown.
   at MobiFlight.Modifier.Interpolation.Add(Double x, Double y)
   at MobiFlight.UI.Panels.Modifier.InterpolationModifierPanel.toConfig()
   at MobiFlight.UI.Panels.Modifier.ModifierControl.Panel_ModifierChanged(Object sender, EventArgs e)
   at MobiFlight.UI.Panels.Modifier.InterpolationModifierPanel.value_Changed(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnLeave(EventArgs e)
   at System.Windows.Forms.Control.NotifyLeave()
   at System.Windows.Forms.ContainerControl.UpdateFocusedControl()

************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9181.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
MFConnector
    Assembly Version: 0.0.1389.584
    Win32 Version: 0.0.1389.584
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/MFConnector.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9181.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9172.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9181.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9191.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
Newtonsoft.Json
    Assembly Version: 13.0.0.0
    Win32 Version: 13.0.3.27908
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/Newtonsoft.Json.DLL
----------------------------------------
System.Runtime.Serialization
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
Microsoft.Web.WebView2.WinForms
    Assembly Version: 1.0.1518.46
    Win32 Version: 1.0.1518.46
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/Microsoft.Web.WebView2.WinForms.DLL
----------------------------------------
Microsoft.Web.WebView2.Core
    Assembly Version: 1.0.1518.46
    Win32 Version: 1.0.1518.46
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/Microsoft.Web.WebView2.Core.DLL
----------------------------------------
fsuipcClient
    Assembly Version: 3.3.3.403
    Win32 Version: 3.3.3.403
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/fsuipcClient.DLL
----------------------------------------
XPlaneConnector
    Assembly Version: 1.3.0.0
    Win32 Version: 1.3.0.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/XPlaneConnector.DLL
----------------------------------------
netstandard
    Assembly Version: 2.0.0.0
    Win32 Version: 4.8.9032.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll
----------------------------------------
ArcazeHid
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/ArcazeHid.DLL
----------------------------------------
SharpDX.DirectInput
    Assembly Version: 4.2.0.0
    Win32 Version: 4.2.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/SharpDX.DirectInput.DLL
----------------------------------------
SharpDX
    Assembly Version: 4.2.0.0
    Win32 Version: 4.2.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/SharpDX.DLL
----------------------------------------
Midi
    Assembly Version: 1.1.0.0
    Win32 Version: 1.1.0.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/Midi.DLL
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.FlightSimulator.SimConnect
    Assembly Version: 10.0.61259.0
    Win32 Version: 10.0.61637.0 (FSX-Xpack.20070926-1421)
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/Microsoft.FlightSimulator.SimConnect.DLL
----------------------------------------
msvcm80
    Assembly Version: 8.0.50727.9680
    Win32 Version: 8.00.50727.9680
    CodeBase: file:///C:/WINDOWS/WinSxS/x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9680_none_d090cb7c44278b28/msvcm80.dll
----------------------------------------
HidSharp
    Assembly Version: 2.1.0.0
    Win32 Version: 2.1.0.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/HidSharp.DLL
----------------------------------------
Microsoft.ApplicationInsights
    Assembly Version: 2.21.0.429
    Win32 Version: 2.21.0.00429
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/Microsoft.ApplicationInsights.DLL
----------------------------------------
System.Diagnostics.DiagnosticSource
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.22.51805
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/System.Diagnostics.DiagnosticSource.DLL
----------------------------------------
System.Xml.Linq
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
Microsoft.AI.ServerTelemetryChannel
    Assembly Version: 2.21.0.429
    Win32 Version: 2.21.0.00429
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/Microsoft.AI.ServerTelemetryChannel.DLL
----------------------------------------
System.Web
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9191.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
System.Management
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
CommandMessenger.Transport.Serial
    Assembly Version: 3.7.0.0
    Win32 Version: 3.7.0.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/CommandMessenger.Transport.Serial.DLL
----------------------------------------
CommandMessenger
    Assembly Version: 3.7.1.0
    Win32 Version: 3.7.1.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/CommandMessenger.DLL
----------------------------------------
NCalc
    Assembly Version: 1.3.8.0
    Win32 Version: 1.3.8.0
    CodeBase: file:///C:/Users/tuoma/Documents/MobiFlightConnector-0.0.1389.584/NCalc.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
DocMoebiuz commented 11 months ago

Please try the PR