WheezyE / Winelink

Installation scripts for running Winlink (RMS Express/Trimode & VARA) on non-Windows computers. Wine & Box86 make this project possible.
68 stars 18 forks source link

RMS Trimode - Channel Settings window crashes wine-mono if frequencies have decimal numbers (string-to-int conversion not valid) #38

Closed WheezyE closed 1 year ago

WheezyE commented 2 years ago

Crashes after hitting the Update button. Not sure if it's wine, wine-mono, or box86 yet.

# Install
cd Downloads
wget https://downloads.winlink.org/Sysop%20Programs/RMS_Trimode_install_1-3-49-0.zip
7z x RMS_Trimode_install_1-3-49-0.zip
wine RMS_Trimode_install.exe /SILENT
BOX86_DYNAREC_BIGBLOCK=0 wine ~/.wine/drive_c/RMS/RMS\ Trimode/RMS\ Trimode.exe

Using BOX86_DYNAREC_SAFEMMAP=1 (or 2) doesn't help. Using BOX86_DYNAREC_BIGBLOCK=1 also doesn't change anything.

WheezyE commented 1 year ago

Same behavior with Box86 with Dynarec v0.2.9 2b247838 built on Jan 8 2023 01:14:47 + wine-7.1.

WheezyE commented 1 year ago

Ah ok, tested this on Linux Mint x64 and it crashes in wine-8.0-rc4 (latest)

This might be a bug in wine or wine-mono

WheezyE commented 1 year ago

I believe I've narrowed this down to a crash in wine-mono.

Pictured: Right before clicking Update - right before the crash trimode-winemonocrash1

Pictured: Right after clicking Update - right after the crash trimode-winemonocrash2

Alternatively, if I run RMS Trimode again, but just close the "Channel Settings" window (don't hit "Update"), then RMS Trimode will run without crashing (it just won't do anything because it doesn't have any settings defined for frequencies to monitor). trimode-winemonocrash3

WheezyE commented 1 year ago

Since the Channel Settings window has frequency fields that default to "0.000", and since the wine-mono error has to do with chars not converting to ints, I thought maybe this was a glitch caused by the RMS Trimode devs having set these default fields as strings instead of integers. I decided to try putting 1 integer into all of the "0.000" fields to get rid of any accidental chars in there. trimode-winemonocrash4

I hit update and this time RMS Trimode didn't crash. trimode-winemonocrash4b

I went back to the Channel Settings window and all the 1 integers had been auto-populated with "1.000". trimode-winemonocrash4a I hit update again and then things crashed again! This time the wine-mono error messages said:

[00000024:] EXCEPTION handling: System.FormatException: Input string was not in a correct format.
[00000024:] EXCEPTION handling: System.InvalidCastException: Conversion from string "1.000" to type 'Integer' is not valid.

I then tried running RMS Trimode again and inputting 1.000 into each field before hitting update and the program crashed with the same error message again:

[00000024:] EXCEPTION handling: System.FormatException: Input string was not in a correct format.
[00000024:] EXCEPTION handling: System.InvalidCastException: Conversion from string "1.000" to type 'Integer' is not valid.
SpudGunMan commented 1 year ago

not a RMS bug?

Type conversion handling for the same value you have in a text box..

While it might be a .net issue I would be surprised it wasn't found elsewhere first?

WheezyE commented 1 year ago

.NET normally runs RMS Trimode code for Windows. We're running RMS Trimode on wine-mono though instead of .NET. Wine-mono is an open-source engine that has been written by scratch from the ground-up to run .NET programs. My guess would be that RMS Trimode's Channel Settings menu occasionally tries to convert strings to ints and that the .NET engine has been allowing and handling these sort-of code faux pas but wine-mono doesn't have special handling for these cases.

One solution would be to ask madewokherd if they might consider implementing some kind of handling for string-to-int kludges in wine-mono. Probably the better solution though might be to ask the RMS Trimode dev if they could check the code for the Channel Settings browser to see if the program is setting text boxes to strings on accident (instead of to other values).

I'm not entirely sure about this being an int problem though since any number I enter with trailing zeros (EDIT: any decimal number) seems to crash too. So I might still need madewokherd's help to figure out what's going on here.

WheezyE commented 1 year ago

I'll see about asking the RMS Trimode dev tomorrow

WheezyE commented 1 year ago

More detailed wine-mono traces for these exceptions:

System.FormatException (right before crash) ``` WINE_MONO_TRACE=E:System.FormatException MONO_INLINELIMIT=0 WINE_MONO_HIDETYPES=1 wine RMS\ Trimode.exe 2>&1 | tee trimode-exception2.log ... [00000024:] EXCEPTION handling: System.FormatException: Input string was not in a correct format. "" tid=00000024 this=03080120 , thread handle : 010b50a8, state : not waiting at System.Number.ThrowOverflowOrFormatException (bool,string) [0x0001a] in :0 at System.Number.ParseInt32 (System.ReadOnlySpan`1,System.Globalization.NumberStyles,System.Globalization.NumberFormatInfo) [0x00016] in :0 at int.Parse (string) [0x00016] in :0 at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString (string) [0x0003c] in :0 at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger (string) [0x00001] in :0 at RMS_Trimode.Channels.CheckFrequencyEntry (System.Windows.Forms.TextBox&,int) [0x00015] in :0 at RMS_Trimode.Channels.btnUpdate_Click (object,System.EventArgs) [0x000af] in :0 at System.Windows.Forms.Control.OnClick (System.EventArgs) [0x0001f] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Button.OnClick (System.EventArgs) [0x00037] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Button.OnMouseUp (System.Windows.Forms.MouseEventArgs) [0x0009a] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control.WmMouseUp (System.Windows.Forms.Message&,System.Windows.Forms.MouseButtons,int) [0x001c3] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) [0x005a0] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message&) [0x0011f] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Button.WndProc (System.Windows.Forms.Message&) [0x00056] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control/ControlNativeWindow.OnMessage (System.Windows.Forms.Message&) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control/ControlNativeWindow.WndProc (System.Windows.Forms.Message&) [0x000b3] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message&) [0x00025] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message&) [0x00032] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.NativeWindowProc.Callback (intptr,int,intptr,intptr) [0x00037] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper native-to-managed) System.Windows.Forms.NativeWindowProc.Callback (intptr,int,intptr,intptr) <0x00067> at <0xffffffff> at (wrapper managed-to-native) System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW (System.Windows.Forms.NativeMethods/MSG&) <0x00012> at System.Windows.Forms.Application/ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (intptr,int,int) [0x001d7] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application/ThreadContext.RunMessageLoopInner (int,System.Windows.Forms.ApplicationContext) [0x00282] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application/ThreadContext.RunMessageLoop (int,System.Windows.Forms.ApplicationContext) [0x0001a] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.Application/ThreadContext.RunMessageLoop (int,System.Windows.Forms.ApplicationContext) [0x00033] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application.RunDialog (System.Windows.Forms.Form) [0x0000d] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Form.ShowDialog (System.Windows.Forms.IWin32Window) [0x0027b] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Form.ShowDialog () [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form.ShowDialog () [0x00031] in <7eb7f98ebac24936922af35e6761d8be>:0 at RMS_Trimode.Main.mnuSetupChannels_Click (object,System.EventArgs) [0x00005] in :0 at System.Windows.Forms.ToolStripItem.RaiseEvent (object,System.EventArgs) [0x0001b] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.OnClick (System.EventArgs) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripMenuItem.OnClick (System.EventArgs) [0x0001d] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.HandleClick (System.EventArgs) [0x00051] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.HandleMouseUp (System.Windows.Forms.MouseEventArgs) [0x000fd] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.FireEventInteractive (System.EventArgs,System.Windows.Forms.ToolStripItemEventType) [0x00053] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.FireEvent (System.EventArgs,System.Windows.Forms.ToolStripItemEventType) [0x00103] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.ToolStripItem.FireEvent (System.EventArgs,System.Windows.Forms.ToolStripItemEventType) [0x00033] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStrip.OnMouseUp (System.Windows.Forms.MouseEventArgs) [0x0007d] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripDropDown.OnMouseUp (System.Windows.Forms.MouseEventArgs) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control.WmMouseUp (System.Windows.Forms.Message&,System.Windows.Forms.MouseButtons,int) [0x001c3] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) [0x005a0] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message&) [0x00043] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStrip.WndProc (System.Windows.Forms.Message&) [0x00128] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripDropDown.WndProc (System.Windows.Forms.Message&) [0x00070] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control/ControlNativeWindow.OnMessage (System.Windows.Forms.Message&) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control/ControlNativeWindow.WndProc (System.Windows.Forms.Message&) [0x000b3] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message&) [0x00025] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message&) [0x00032] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.NativeWindowProc.Callback (intptr,int,intptr,intptr) [0x00037] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper native-to-managed) System.Windows.Forms.NativeWindowProc.Callback (intptr,int,intptr,intptr) <0x00067> at <0xffffffff> at (wrapper managed-to-native) System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW (System.Windows.Forms.NativeMethods/MSG&) <0x00012> at System.Windows.Forms.Application/ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (intptr,int,int) [0x001d7] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application/ThreadContext.RunMessageLoopInner (int,System.Windows.Forms.ApplicationContext) [0x00282] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application/ThreadContext.RunMessageLoop (int,System.Windows.Forms.ApplicationContext) [0x0001a] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.Application/ThreadContext.RunMessageLoop (int,System.Windows.Forms.ApplicationContext) [0x00033] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext) [0x00006] in <7eb7f98ebac24936922af35e6761d8be>:0 at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () [0x00044] in :0 at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel () [0x00035] in :0 at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run (string[]) [0x0001b] in :0 at RMS_Trimode.My.MyApplication.Main (string[]) [0x0000f] in :0 at (wrapper runtime-invoke) .runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00027] in :0 ```
System.InvalidCastException (crash likely here) ``` WINE_MONO_TRACE=E:System.InvalidCastException MONO_INLINELIMIT=0 WINE_MONO_HIDETYPES=1 wine RMS\ Trimode.exe 2>&1 | tee trimode-exception1.log ... [00000024:] EXCEPTION handling: System.InvalidCastException: Conversion from string "1.2" to type 'Integer' is not valid. "" tid=00000024 this=03080120 , thread handle : 010b50a8, state : not waiting at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString (string) [0x00062] in :0 at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger (string) [0x00001] in :0 at RMS_Trimode.Channels.CheckFrequencyEntry (System.Windows.Forms.TextBox&,int) [0x00015] in :0 at RMS_Trimode.Channels.btnUpdate_Click (object,System.EventArgs) [0x000af] in :0 at System.Windows.Forms.Control.OnClick (System.EventArgs) [0x0001f] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Button.OnClick (System.EventArgs) [0x00037] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Button.OnMouseUp (System.Windows.Forms.MouseEventArgs) [0x0009a] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control.WmMouseUp (System.Windows.Forms.Message&,System.Windows.Forms.MouseButtons,int) [0x001c3] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) [0x005a0] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message&) [0x0011f] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Button.WndProc (System.Windows.Forms.Message&) [0x00056] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control/ControlNativeWindow.OnMessage (System.Windows.Forms.Message&) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control/ControlNativeWindow.WndProc (System.Windows.Forms.Message&) [0x000b3] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message&) [0x00025] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message&) [0x00032] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.NativeWindowProc.Callback (intptr,int,intptr,intptr) [0x00037] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper native-to-managed) System.Windows.Forms.NativeWindowProc.Callback (intptr,int,intptr,intptr) <0x00067> at <0xffffffff> at (wrapper managed-to-native) System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW (System.Windows.Forms.NativeMethods/MSG&) <0x00012> at System.Windows.Forms.Application/ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (intptr,int,int) [0x001d7] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application/ThreadContext.RunMessageLoopInner (int,System.Windows.Forms.ApplicationContext) [0x00282] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application/ThreadContext.RunMessageLoop (int,System.Windows.Forms.ApplicationContext) [0x0001a] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.Application/ThreadContext.RunMessageLoop (int,System.Windows.Forms.ApplicationContext) [0x00033] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application.RunDialog (System.Windows.Forms.Form) [0x0000d] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Form.ShowDialog (System.Windows.Forms.IWin32Window) [0x0027b] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Form.ShowDialog () [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.Form.ShowDialog () [0x00031] in <7eb7f98ebac24936922af35e6761d8be>:0 at RMS_Trimode.Main.mnuSetupChannels_Click (object,System.EventArgs) [0x00005] in :0 at System.Windows.Forms.ToolStripItem.RaiseEvent (object,System.EventArgs) [0x0001b] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.OnClick (System.EventArgs) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripMenuItem.OnClick (System.EventArgs) [0x0001d] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.HandleClick (System.EventArgs) [0x00051] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.HandleMouseUp (System.Windows.Forms.MouseEventArgs) [0x000fd] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.FireEventInteractive (System.EventArgs,System.Windows.Forms.ToolStripItemEventType) [0x00053] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripItem.FireEvent (System.EventArgs,System.Windows.Forms.ToolStripItemEventType) [0x00103] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.ToolStripItem.FireEvent (System.EventArgs,System.Windows.Forms.ToolStripItemEventType) [0x00033] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStrip.OnMouseUp (System.Windows.Forms.MouseEventArgs) [0x0007d] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripDropDown.OnMouseUp (System.Windows.Forms.MouseEventArgs) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control.WmMouseUp (System.Windows.Forms.Message&,System.Windows.Forms.MouseButtons,int) [0x001c3] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) [0x005a0] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message&) [0x00043] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStrip.WndProc (System.Windows.Forms.Message&) [0x00128] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.ToolStripDropDown.WndProc (System.Windows.Forms.Message&) [0x00070] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control/ControlNativeWindow.OnMessage (System.Windows.Forms.Message&) [0x00001] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Control/ControlNativeWindow.WndProc (System.Windows.Forms.Message&) [0x000b3] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message&) [0x00025] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message&) [0x00032] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.NativeWindowProc.Callback (intptr,int,intptr,intptr) [0x00037] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper native-to-managed) System.Windows.Forms.NativeWindowProc.Callback (intptr,int,intptr,intptr) <0x00067> at <0xffffffff> at (wrapper managed-to-native) System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW (System.Windows.Forms.NativeMethods/MSG&) <0x00012> at System.Windows.Forms.Application/ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (intptr,int,int) [0x001d7] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application/ThreadContext.RunMessageLoopInner (int,System.Windows.Forms.ApplicationContext) [0x00282] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application/ThreadContext.RunMessageLoop (int,System.Windows.Forms.ApplicationContext) [0x0001a] in <7eb7f98ebac24936922af35e6761d8be>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.Application/ThreadContext.RunMessageLoop (int,System.Windows.Forms.ApplicationContext) [0x00033] in <7eb7f98ebac24936922af35e6761d8be>:0 at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext) [0x00006] in <7eb7f98ebac24936922af35e6761d8be>:0 at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () [0x00044] in :0 at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel () [0x00035] in :0 at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run (string[]) [0x0001b] in :0 at RMS_Trimode.My.MyApplication.Main (string[]) [0x0000f] in :0 at (wrapper runtime-invoke) .runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00027] in :0 0060:fixme:nsi:ipv6_forward_enumerate_all not implemented 0060:fixme:nsi:ipv6_forward_enumerate_all not implemented [00000108:] EXCEPTION handling: System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control until the window handle has been created. ```
WheezyE commented 1 year ago

Phil, the trimode dev, fixed the type cast issue in RMS Trimode. This crash no-longer occurs. I'll close this ticket when the patch is worked into the official Trimode.

WheezyE commented 1 year ago

This fix has been incorporated into RMS Trimode 1.3.50.0, which is available on the Winlink sysop downloads page as-of today.

Patch notes for this release notably include:

  • Fix a bug in Channels converting a decimal frequency string to an integer.

Winelink has been updated with commit 74ad317 to install RMS SysOp programs, including TriMode