Solved Alt launcher key assignment error - can't solve it
-
KI Answer to the Problem:
The error details indicate that the error occurs in the CopyButtonsAndHatsFromCurrentProfile method in the “JoyAssgn.cs” file. It seems that the length of the source array is insufficient to copy the desired data.
To fix this error, you would need to inspect the application’s source code and review the CopyButtonsAndHatsFromCurrentProfile method. Ensure that the size of the source array is sufficient and that data processing is done correctly. There might be a missing or incorrectly implemented check for the array’s length.
If you are not the developer of the application, you could report the error to the FalconBMS Launcher application’s developer or support team for assistance with troubleshooting. They may provide you with an updated version of the application that fixes this error.
-
@airtex2019 said in Alt launcher key assignment error - can't solve it:
1 Reply Last reply about an hour ago Reply
[2023-10-27 20:58:29] [INFO] :: Application Initialization starting. [2023-10-27 20:58:29] [INFO] :: Post_OnInitialized. [2023-10-27 20:58:29] [INFO] :: AutoUpdate-check initiated. [2023-10-27 20:58:29] [INFO] :: FalconBMS Launcher v2.4.0 [2023-10-27 20:58:29] [INFO] :: Start Reading Launcher Settings. [2023-10-27 20:58:29] [INFO] :: Finished Reading Launcher Settings. [2023-10-27 20:58:29] [INFO] :: Start Reading Registry. [2023-10-27 20:58:29] [INFO] :: Finished Reading Registry. [2023-10-27 20:58:29] [INFO] :: Start Init Devices. [2023-10-27 20:58:30] [INFO] :: Finished Init Devices. [2023-10-27 20:58:30] [INFO] :: Start VR Check. [2023-10-27 20:58:30] [INFO] :: Finished VR Check. [2023-10-27 20:58:30] [INFO] :: Start Timers. [2023-10-27 20:58:30] [INFO] :: Timers Started. [2023-10-27 20:58:30] [INFO] :: Post_OnInitialized complete. [2023-10-27 20:58:30] [INFO] :: Completed RSS fetch on background-thread. [2023-10-27 20:58:30] [INFO] :: RSS update finished. [2023-10-27 20:58:36] [EXCEPTION] Källmatrisen var inte tillräckligt lång. Kontrollera srcIndex och längd samt matrisens nedre gränser.:: Source: mscorlib Target Site: Void Copy(System.Array, Int32, System.Array, Int32, Int32, Boolean) Message: Källmatrisen var inte tillräckligt lång. Kontrollera srcIndex och längd samt matrisens nedre gränser. Details: Exception Data: System.Collections.ListDictionaryInternal Stack Trace: vid System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable) vid System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length) vid FalconBMS.Launcher.Input.JoyAssgn.CopyButtonsAndHatsFromCurrentProfile(JoyAssgn otherJoy) i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Input\JoyAssgn.cs:rad 414 vid FalconBMS.Launcher.Input.JoyAssgn.MakeTempCloneForKeyMappingDialog() i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Input\JoyAssgn.cs:rad 485 vid FalconBMS.Launcher.Windows.KeyMappingWindow.Reset() i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Windows\KeyMappingWindow.xaml.cs:rad 88 vid FalconBMS.Launcher.Windows.KeyMappingWindow..ctor(DeviceControl deviceControl, KeyAssgn SelectedCallback) i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Windows\KeyMappingWindow.xaml.cs:rad 54 vid FalconBMS.Launcher.Windows.KeyMappingWindow.ShowKeyMappingWindow(Window owner, DeviceControl deviceControl, KeyAssgn SelectedCallback) i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Windows\KeyMappingWindow.xaml.cs:rad 59 vid FalconBMS.Launcher.Windows.MainWindow.DataGrid_MouseButtonDoubleClick(Object sender, MouseButtonEventArgs e) i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Windows\MainWindowKeyMapping.cs:rad 132 vid System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) vid System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) vid System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) vid System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) vid System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) vid System.Windows.UIElement.RaiseEvent(RoutedEventArgs e) vid System.Windows.Controls.Control.OnMouseDoubleClick(MouseButtonEventArgs e) vid System.Windows.Controls.Control.HandleDoubleClick(Object sender, MouseButtonEventArgs e) vid System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) vid System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) vid System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) vid System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) vid System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) vid System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e) vid System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) vid System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) vid System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) vid System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) vid System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) vid System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) vid System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted) vid System.Windows.Input.InputManager.ProcessStagingArea() vid System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) vid System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) vid System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) vid System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) vid System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) vid MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) vid MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) vid System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) vid System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) ============ [2023-10-27 20:58:38] [EXCEPTION] Källmatrisen var inte tillräckligt lång. Kontrollera srcIndex och längd samt matrisens nedre gränser.:: Source: mscorlib Target Site: Void Copy(System.Array, Int32, System.Array, Int32, Int32, Boolean) Message: Källmatrisen var inte tillräckligt lång. Kontrollera srcIndex och längd samt matrisens nedre gränser. Details: Exception Data: System.Collections.ListDictionaryInternal Stack Trace: vid System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable) vid System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length) vid FalconBMS.Launcher.Input.JoyAssgn.CopyButtonsAndHatsFromCurrentProfile(JoyAssgn otherJoy) i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Input\JoyAssgn.cs:rad 414 vid FalconBMS.Launcher.Input.JoyAssgn.MakeTempCloneForKeyMappingDialog() i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Input\JoyAssgn.cs:rad 485 vid FalconBMS.Launcher.Windows.KeyMappingWindow.Reset() i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Windows\KeyMappingWindow.xaml.cs:rad 88 vid FalconBMS.Launcher.Windows.KeyMappingWindow..ctor(DeviceControl deviceControl, KeyAssgn SelectedCallback) i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Windows\KeyMappingWindow.xaml.cs:rad 54 vid FalconBMS.Launcher.Windows.KeyMappingWindow.ShowKeyMappingWindow(Window owner, DeviceControl deviceControl, KeyAssgn SelectedCallback) i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Windows\KeyMappingWindow.xaml.cs:rad 59 vid FalconBMS.Launcher.Windows.MainWindow.DataGrid_MouseButtonDoubleClick(Object sender, MouseButtonEventArgs e) i C:\1\git\arithex\AltLauncher_develop\FalconBMS-Alternative-Launcher\Falcon BMS Alternative Launcher\Windows\MainWindowKeyMapping.cs:rad 132 vid System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) vid System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) vid System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) vid System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) vid System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) vid System.Windows.UIElement.RaiseEvent(RoutedEventArgs e) vid System.Windows.Controls.Control.OnMouseDoubleClick(MouseButtonEventArgs e) vid System.Windows.Controls.Control.HandleDoubleClick(Object sender, MouseButtonEventArgs e) vid System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) vid System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) vid System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) vid System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) vid System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) vid System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e) vid System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) vid System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) vid System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) vid System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) vid System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) vid System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) vid System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted) vid System.Windows.Input.InputManager.ProcessStagingArea() vid System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) vid System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) vid System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) vid System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) vid System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) vid MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) vid MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) vid System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) vid System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) ============
Here is my log.
I also cant restart the game when closing the the launcher i have to go to task manager.
-
@Jack-Daniels thx lol, yes I am the developer at fault.
I can harden this codepath, but I’m still at a loss to explain how this is happening to you, if it’s not loading old DX32-era XML files
-
@airtex2019 Ghost of the Machine maybe. If you can solve it, it doesn’t matter to me whether you can explain it or not.
-
@Jack-Daniels @Jambo tell me more about these G: and Z: drives
are they network drives? subst-aliases? or actual physical drives… NTFS?
can you show me the permissions – run this from the cmd prompt
>icacls "X:\Falcon BMS 4.37"
output should look like this
X:\Falcon BMS 4.37 BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)
-
g:\falcon bms 4.37 BUILTIN\Administrators:(I)(F)
BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
NT AUTHORITY\Authenticated Users:(I)(M)
NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)
BUILTIN\Users:(I)(RX)
BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)mine is a m.2 SSD drive
-
@airtex2019 z: drive is a actual physical SSD Drive, with no other partitions
Output icacls
Z:\>icacls "z:\Falcon BMS 4.37" z:\Falcon BMS 4.37 VORDEFINIERT\Administratoren:(I)(F) VORDEFINIERT\Administratoren:(I)(OI)(CI)(IO)(F) NT-AUTORITÄT\SYSTEM:(I)(F) NT-AUTORITÄT\SYSTEM:(I)(OI)(CI)(IO)(F) NT-AUTORITÄT\Authentifizierte Benutzer:(I)(M) NT-AUTORITÄT\Authentifizierte Benutzer:(I)(OI)(CI)(IO)(M) VORDEFINIERT\Benutzer:(I)(RX) VORDEFINIERT\Benutzer:(I)(OI)(CI)(IO)(GR,GE) 1 Dateien erfolgreich verarbeitet, bei 0 Dateien ist ein Verarbeitungsfehler aufgetreten.
-
Oh dang, I think I realize what’s happening… new theory…
There is a “Stock” subfolder of default XML templates, for popular hotas devices. It appears many of those templates were never updated for the DX32->DX128 transition.
That’s where the 32-slot XML files are coming from. Those templates are loaded at first-time startup, if you haven’t already saved any mappings for that particular device.
(Older versions of AL must either have failed silently, or crashed later, when attempting to bind a button number >=32 … new version of AL is failing sooner)
If anyone is game to do a quick validation:
-
rename your
"...\Falcon BMS 4.37\Launcher\Stock"
folder … toStock_backup
or something -
delete (or better, move to a backup folder) any
"Setup\*.xml"
files in your...\Falcon BMS 4.37\user\Config
folder
Let me know if that helps.
-
-
@airtex2019 Thats it!!! Problem solved. Also closing after editing and restart works. Thank you so much.
-
-
Worked for me as well. thanks
-
@airtex2019 yes, your suggestion worked for me. Thanks a lot
-
Whew…! thanks. I’ll update those templates, and also harden the AL code better (for folks actually upgrading from old DX32 era).
This is what a former coworker of mine used to refer to as “psychic debugging”. Not an easy part of this job…
-
-
@airtex2019 Just wanted to give you a big thank you for your efforts in getting this figured out for us. THANK YOU!!!
-
@Jambo I accept the thanks, but … this one is also directly my fault, so…
I’m just trying to make omelets without breaking too many eggs… as the saying goes.
-
@airtex2019 For me WAS NOT a fresh install but an update via the launcher! Yeah, probably i’m dumb. I will do a clean new install, but i see that in any case you guys found a way to solve the problem. Good work, thank you a lot.
Edit: WORKED! You fellas are the best. Thank you.
-
Worked for me aswell! Thanks for your effort!
-
Thank you it worked…
Glad you could find the culprit.
-
Thanks for finding a solution so quickly