MattFiler / OpenCAGE

A modding toolkit for Alien: Isolation that gives access to scripting, assets, configurations, and behaviour trees.
http://opencage.co.uk
MIT License
254 stars 12 forks source link

Unhandled exception "InvalidArgument=Value of '0' is not valid for 'index' " when using Create Function #369

Open ghramsey opened 4 months ago

ghramsey commented 4 months ago

I have a strange bug. An unhandled exception which began out of a search for a function which doesn't exit.
I was searching for the wrong name.
It seemed to go on using continue, but that's when it began misbehaving. I closed the editor and relaunched. Now it throws this error when I merely using Create Entity > Create Function image OpenCAGE Settings.json I found a work around but I'm not entirely sure why it worked. I removed the OpenCAGESettings.JSON file and let it be recreated. The error cleared. I'll attach the json and hopefully it might reveal what happened.

Obviously some erroneous setting was begin retained.

To be clear the issue has been worked around, but the underlying cause is unknown.

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

** Exception Text ** System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'index'. Parameter name: index at System.Windows.Forms.ListView.ListViewItemCollection.get_Item(Int32 index) at CommandsEditor.AddEntity_Function.SelectFuncType(String type) at CommandsEditor.AddEntity_Function.searchBtn_Click(Object sender, EventArgs e) at CommandsEditor.AddEntity_Function..ctor(CompositeDisplay compositeDisplay) at CommandsEditor.DockPanels.CompositeDisplay.CreateEntity(EntityVariant variant, Boolean composite) at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** Loaded Assemblies ** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

CommandsEditor Assembly Version: 0.2.0.0 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

System Assembly Version: 4.0.0.0 Win32 Version: 4.8.9236.0 built by: NET481REL1LAST_B CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.8.9195.0 built by: NET481REL1LAST_B CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.8.9037.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

CathodeLib Assembly Version: 0.6.0.0 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

netstandard Assembly Version: 2.0.0.0 Win32 Version: 4.8.9037.0 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll

DiscordRPC Assembly Version: 1.2.1.24 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

WeifenLuo.WinFormsUI.Docking Assembly Version: 1.0.0.0 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.8.9241.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.Configuration Assembly Version: 4.0.0.0 Win32 Version: 4.8.9037.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.Xml Assembly Version: 4.0.0.0 Win32 Version: 4.8.9037.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

PresentationCore Assembly Version: 4.0.0.0 Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/PresentationCore/v4.0_4.0.0.0__31bf3856ad364e35/PresentationCore.dll

WindowsBase Assembly Version: 4.0.0.0 Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll

Newtonsoft.Json Assembly Version: 13.0.0.0 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

WeifenLuo.WinFormsUI.Docking.ThemeVS2015 Assembly Version: 1.0.0.0 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

System.Xml.Linq Assembly Version: 4.0.0.0 Win32 Version: 4.8.9037.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

System.Runtime.Serialization Assembly Version: 4.0.0.0 Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll

System.Numerics Assembly Version: 4.0.0.0 Win32 Version: 4.8.9037.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

System.Data Assembly Version: 4.0.0.0 Win32 Version: 4.8.9214.0 built by: NET481REL1LAST_B CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

websocket-sharp Assembly Version: 1.0.2.19803 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

System.Numerics.Vectors Assembly Version: 4.1.4.0 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

Accessibility Assembly Version: 4.0.0.0 Win32 Version: 4.8.9037.0 built by: NET481REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

System.Memory Assembly Version: 4.0.1.1 Win32 Version: 0.2.0.0 CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe

** 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:

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.

ghramsey commented 4 months ago

I figured out some more on this. The error setting is in the json file on line 37 : "CS_PreviouslySearchedFunctionType": "speke",

I made a short video clip. Removing the data to make it blank clears the error. https://github.com/MattFiler/OpenCAGE/assets/51859157/d9c17992-0ca0-4f2d-81d6-68f1d0405eaa

Also, the initial bug seems to come from searching for that word "speaker" and clicking the search button twice. Further checking the exception is thrown for any invalid search and clicking search twice.

If I use X to clear the invalid search all is well. If I don't use X then once the create function window closes that bad search data is retained and causes the exception on the create function button until the json file data is manually cleared.