Launchbox crash

Issue #7630 new
Jeff Le Roux created an issue

Hi,

I just discovered this error upon the last upgrade.

Launchbox crashes when trying to edit some game details, downloading media or editing anything, or trying to add a game to my NES collection, i am trying to add Zelda for NES.

A Launchbox error popup says that i do not have any write access to my Launchbox folder, that I must run Launchbox from my “My Documents” folder instead, which I don't want to, I choose to run it off my L:\ drive for years, it has always worked until the last update to version 13.2 today,

I have tried to copy the whole Launchbox to a different temporary drive, deleted the old Launchbox and copied it back, even adding me as an administrator user with all user rights, nothing helps.

Log attached.

Comments (4)

  1. Invader

    I’m receiving the same error. It seems to be related to RetroAchievements scanning. It might have something to do with the files being 7z compressed.

    (Inner Exception)

    Access to the path 'Mario&Luigiu.A88E.gba' is denied.

    App: LaunchBox
    Version: 13.2
    Type: System.UnauthorizedAccessException
    Site: Void RemoveDirectoryRecursive(System.String, WIN32_FIND_DATA ByRef, Boolean)
    Source: System.IO.FileSystem

    at System.IO.FileSystem.RemoveDirectoryRecursive(String fullPath, WIN32_FIND_DATA& findData, Boolean topLevel)
    at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive)
    at System.IO.Directory.Delete(String path, Boolean recursive)
    at Unbroken.LaunchBox.Integrations.RetroAchievements.Hasher.ValidateMetaImporter(Object , Boolean )
    at Unbroken.LaunchBox.Integrations.RetroAchievements.Hasher.HashFileWithRaHasher(String launchboxRootPath, Int32 consoleId, String filePath, String& output)
    at ManagerProcess.ExcludeMetaComposer(String launchboxRootPath, Int32 consoleId, String filePath, String& output, ManagerProcess )
    at Unbroken.LaunchBox.Integrations.RetroAchievements.RetroAchievements.UpdateRetroAchievementFields(String username, String apiKey, GameBase game, Boolean rehash, String consoleId)
    at Unbroken.LaunchBox.Windows.Desktop.ViewModels.AddEditGameViewModel.Ok()

    (Outer Exception)

    Exception has been thrown by the target of an invocation.

    App: LaunchBox
    Version: 13.2
    Type: System.Reflection.TargetInvocationException
    Site: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean, Boolean)
    Source: System.Private.CoreLib

    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
    at Caliburn.Micro.ActionMessage.<>c.<.cctor>b__33_0(ActionExecutionContext context)
    at Caliburn.Micro.ActionMessage.Invoke(Object eventArgs)
    at System.Windows.Interactivity.TriggerBase.InvokeActions(Object parameter)
    at System.Windows.Interactivity.EventTriggerBase.OnEvent(EventArgs eventArgs)
    at System.Windows.Interactivity.EventTriggerBase.OnEventImpl(Object sender, EventArgs eventArgs)
    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
    at System.Windows.Controls.Primitives.ButtonBase.OnClick()
    at System.Windows.Controls.Button.OnClick()
    at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
    at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
    at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
    at System.Windows.Input.InputManager.ProcessStagingArea()
    at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
    at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
    at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

    Recent Log:

    10:45:11 AM Exception

    1 file, 5570199 bytes (5440 KiB)

    Extracting archive: Games\Nintendo Game Boy Advance\Mario&Luigiu.A88E.7z

    Path = Games\Nintendo Game Boy Advance\Mario&Luigiu.A88E.7z
    Type = 7z
    Physical Size = 5570199
    Headers Size = 146
    Method = LZMA2:24
    Solid = -
    Blocks = 1

    0%

    Everything is Ok

    Size: 16777216
    Compressed: 5570199

    2023-03-25 10:38:18 AM FIRST CHANCE EXCEPTION: Access to the path 'Mario&Luigiu.A88E.gba' is denied.
    at System.IO.FileSystem.RemoveDirectoryRecursive(String fullPath, WIN32_FIND_DATA& findData, Boolean topLevel)
    2023-03-25 10:38:18 AM FIRST CHANCE EXCEPTION: Access to the path 'Mario&Luigiu.A88E.gba' is denied.
    at System.IO.FileSystem.RemoveDirectoryRecursive(String fullPath, WIN32_FIND_DATA& findData, Boolean topLevel)
    at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive)
    at System.IO.Directory.Delete(String path, Boolean recursive)
    at Unbroken.LaunchBox.Integrations.RetroAchievements.Hasher.ValidateMetaImporter(Object , Boolean )
    at Unbroken.LaunchBox.Integrations.RetroAchievements.Hasher.HashFileWithRaHasher(String launchboxRootPath, Int32 consoleId, String filePath, String& output)
    at ManagerProcess.ExcludeMetaComposer(String launchboxRootPath, Int32 consoleId, String filePath, String& output, ManagerProcess )
    at Unbroken.LaunchBox.Integrations.RetroAchievements.RetroAchievements.UpdateRetroAchievementFields(String username, String apiKey, GameBase game, Boolean rehash, String consoleId)
    at LaunchBox.Expressions.TestsRefExpression.<>c__DisplayClass3_0.ConcatMetaConfig(Object , Object , Object , Boolean , Object )
    at LaunchBox.Expressions.TestsRefExpression.<>c__DisplayClass3_0.CollectNotificationContext()
    at Unbroken.LaunchBox.Windows.Threading.<>c__DisplayClass0_0.DisableScopeRef(Object )
    at Unbroken.LaunchBox.Windows.Threading.<>c__DisplayClass0_0.ConnectRemoteDefinition()
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

    Do we know where 7z files are extracted to temporarily? If it’s a permission issue it should be possible to track down. Just need to know the folder.

    Thanks,

    Invader

  2. Log in to comment