mtkennerly / ludusavi-playnite

Playnite plugin for save backups via Ludusavi
MIT License
141 stars 9 forks source link

Extension causes playnite crash #25

Closed N1N74 closed 2 years ago

N1N74 commented 2 years ago

Happening when backing up random entries (installed/not installed) as well as any new manually added entry. Crashing seems to be caused by specific entries only. Playnite 9.6 ludasavi extension 0.6.0 ludusavi 0.10.0

mtkennerly commented 2 years ago

Thanks for reporting this! Could you share your Playnite log file (e.g., C:\Users\<name>\AppData\Roaming\Playnite\playnite.log)?

N1N74 commented 2 years ago

08-11 15:22:52.188|INFO |ProgramEntry:App arguments: ''
08-11 15:22:54.608|INFO |PlayniteApplication:Application started from 'C:\Users\Admin\AppData\Local\Playnite'
08-11 15:22:56.756|INFO |ExtensionFactory:Loaded plugin: AmazonGames library integration, version 2.3
08-11 15:22:56.849|INFO |ExtensionFactory:Loaded plugin: Battle.net library integration, version 2.3
08-11 15:22:56.912|INFO |ExtensionFactory:Loaded plugin: Bethesda library integration, version 2.2
08-11 15:22:57.006|INFO |ExtensionFactory:Loaded plugin: DKG Theme Modifier, version 2.2.4
08-11 15:22:57.131|INFO |ExtensionFactory:Loaded plugin: Epic Store library integration, version 2.5
08-11 15:22:57.233|INFO |ExtensionFactory:Loaded plugin: Extra Metadata Loader, version 1.19
08-11 15:22:57.424|INFO |ExtensionFactory:Loaded plugin: DuplicateHider, version 3.7.1
08-11 15:22:57.538|INFO |ExtensionFactory:Loaded plugin: QuickSearch, version 2.11.6
08-11 15:22:57.649|INFO |ExtensionFactory:Loaded plugin: StartPage, version 1.0.2
08-11 15:22:57.737|INFO |ExtensionFactory:Loaded plugin: GOG library integration, version 2.4
08-11 15:22:57.906|INFO |ExtensionFactory:Loaded plugin: HTML Exporter, version 3.2
08-11 15:22:57.984|INFO |ExtensionFactory:Loaded plugin: Humble library integration, version 2.2
08-11 15:22:58.047|INFO |ExtensionFactory:Loaded plugin: IGDB metadata provider, version 2.3
08-11 15:22:58.172|INFO |ExtensionFactory:Loaded plugin: Installation Status Updater, version 2.12
08-11 15:22:58.266|INFO |ExtensionFactory:Loaded plugin: itch.io library integration, version 2.2
08-11 15:22:58.297|INFO |ExtensionFactory:Loaded plugin: Ludusavi Restic, version 0.2.0
08-11 15:22:58.359|INFO |ExtensionFactory:Loaded plugin: Ludusavi, version 0.6.0
08-11 15:22:58.438|INFO |ExtensionFactory:Loaded plugin: Origin library integration, version 2.3
08-11 15:22:58.469|INFO |ExtensionFactory:Loaded plugin: PCGamingWiki Metadata Provider, version 0.3.1
08-11 15:22:58.563|INFO |ExtensionFactory:Loaded plugin: Playlist, version 1.4.2
08-11 15:22:58.922|INFO |ExtensionFactory:Loaded plugin: CheckLocalizations, version 2.0.3
08-11 15:22:59.173|INFO |ExtensionFactory:Loaded plugin: DescriptionEditor, version 2.0.2
08-11 15:22:59.563|INFO |ExtensionFactory:Loaded plugin: GameActivity, version 2.1.2
08-11 15:23:00.717|INFO |ExtensionFactory:Loaded plugin: HowLongToBeat, version 2.4
08-11 15:23:00.905|INFO |ExtensionFactory:Loaded plugin: LibraryManagement, version 2.2
08-11 15:23:01.186|INFO |ExtensionFactory:Loaded plugin: ScreenshotsVisualizer, version 2.1
08-11 15:23:01.546|INFO |ExtensionFactory:Loaded plugin: SuccessStory, version 2.4
08-11 15:23:02.920|INFO |ExtensionFactory:Loaded plugin: SystemChecker, version 2.0
08-11 15:23:03.688|INFO |ExtensionFactory:Loaded plugin: ThemeModifier, version 2.2.3
08-11 15:23:03.782|INFO |ExtensionFactory:Loaded plugin: PlayState, version 2.8
08-11 15:23:03.876|INFO |ExtensionFactory:Loaded plugin: PlayStation library integration, version 2.11
08-11 15:23:03.938|INFO |ExtensionFactory:Loaded plugin: Review Viewer, version 2.11
08-11 15:23:03.970|INFO |ExtensionFactory:Loaded plugin: Simple Game Import, version 2.0
08-11 15:23:04.048|INFO |ExtensionFactory:Loaded plugin: Splash Screen, version 2.6
08-11 15:23:04.126|INFO |ExtensionFactory:Loaded plugin: SteamGridDB Metadata Provider, version 1.0
08-11 15:23:04.470|INFO |ExtensionFactory:Loaded plugin: Steam library integration, version 2.3
08-11 15:23:04.548|INFO |ExtensionFactory:Loaded plugin: Universal Steam Metadata, version 2.3
08-11 15:23:04.642|INFO |ExtensionFactory:Loaded plugin: Uplay library integration, version 2.2
08-11 15:23:04.720|INFO |ExtensionFactory:Loaded plugin: Xbox library integration, version 2.3
08-11 15:23:06.321|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\Date_Importer_d0e7fb90-e74e-4955-b7bc-43a13339637e\DateImporter.psm1, version 2.4
08-11 15:23:06.368|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\Extra_Metadata_tools_2e0349ed-6da2-4095-9457-4c9fb544551e\ExtraMetadataTools.psm1, version 2.7
08-11 15:23:06.461|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\Game_Engine_Checker_7a21243e-c7cc-4ca7-85bd-f6f96f22e9db\GameEngineChecker.psm1, version 2.4
08-11 15:23:06.508|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\Game_Media_Processor\GameMediaProcessor.psm1, version 1.9.0
08-11 15:23:06.571|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\Game_Media_Tools\GameMediaTools.psm1, version 2.5
08-11 15:23:06.605|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\LibraryExporterPS_Builtin\LibraryExporter.psm1, version 2.0
08-11 15:23:06.651|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\Nexus_Mods_Checker_ece2874c-be52-4a64-b178-ed379a042f85\NexusModsChecker.psm1, version 2.7
08-11 15:23:06.714|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\Playnite_Fields_Tagger\FieldsTagger.psm1, version 1.0
08-11 15:23:06.761|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\SaveFileView_f68f302b-9799-4b77-a982-4bfca97130e2\SaveFileView.psm1, version 2.5
08-11 15:23:06.823|INFO |ExtensionFactory:Loaded script extension: C:\Users\Admin\AppData\Roaming\Playnite\Extensions\Twitch_Add_Link\TwitchAddLink.psm1, version 2.5
08-11 15:23:06.996|DEBUG|WindowFactory:Show window Playnite.DesktopApp.Windows.MainWindowFactory
08-11 15:23:06.996|DEBUG|WindowFactory:Opening window that was closed previously Playnite.DesktopApp.Windows.MainWindowFactory
08-11 15:23:07.369|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ProgressWindowFactory
08-11 15:23:08.062|INFO |GameDatabase:Opening db C:\Users\Admin\AppData\Roaming\Playnite\library
08-11 15:23:08.368|WARN |ExecutionTimer:--- Timer 'DatabaseLoadCollections', 310 ms to complete.
08-11 15:23:08.368|INFO |DatabaseStats:Completely recalculating database statistics...
08-11 15:23:08.400|DEBUG|WindowFactory:Closing window Playnite.Windows.ProgressWindowFactory, True.
08-11 15:23:09.690|INFO |MainViewModelBase:Importing games from Amazon Games plugin.
08-11 15:23:09.774|INFO |PlayniteApplication:Application 9.6.0.15147 started
08-11 15:23:09.774|INFO |MainViewModelBase:Importing games from Battle.net plugin.
08-11 15:23:10.223|INFO |MainViewModelBase:Importing games from Bethesda plugin.
08-11 15:23:10.241|INFO |MainViewModelBase:Importing games from Epic plugin.
08-11 15:23:10.588|INFO |MainViewModelBase:Importing games from GOG plugin.
08-11 15:23:10.617|INFO |MainViewModelBase:Importing games from Humble plugin.
08-11 15:23:10.781|INFO |MainViewModelBase:Importing games from itch.io plugin.
08-11 15:23:10.781|INFO |MainViewModelBase:Importing games from Origin plugin.
08-11 15:23:10.790|INFO |MainViewModelBase:Importing games from PlayStation plugin.
08-11 15:23:10.790|INFO |MainViewModelBase:Importing games from Steam plugin.
08-11 15:23:10.822|INFO |MainViewModelBase:Importing games from Ubisoft Connect plugin.
08-11 15:23:11.067|INFO |MainViewModelBase:Importing games from Xbox plugin.
08-11 15:23:12.074|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ProgressWindowFactory
08-11 15:23:12.113|DEBUG|WindowFactory:Closing window Playnite.Windows.ProgressWindowFactory, True.
08-11 15:23:12.139|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ProgressWindowFactory
08-11 15:23:12.171|DEBUG|WindowFactory:Closing window Playnite.Windows.ProgressWindowFactory, True.
08-11 15:23:14.803|DEBUG|Downloader:Downloading string content from http://www.playnite.link/update/stable/9.6/update.json using System.Text.UTF8Encoding encoding.
08-11 15:23:16.295|DEBUG|Downloader:Downloading string content from https://github.com/JosefNemec/PlayniteExtensions/raw/master/manifests/IGDBMetadata_Builtin.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:16.465|ERROR|PlayniteApplication:Unhandled exception occured.
System.NullReferenceException: Object reference not set to an instance of an object.
   at LudusaviPlaynite.LudusaviPlaynite.IsOnPc(Game game)
   at LudusaviPlaynite.LudusaviPlaynite.GetGameName(Game game)
   at LudusaviPlaynite.LudusaviPlaynite.<GetGameMenuItems>b__24_1(Game x)
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at LudusaviPlaynite.LudusaviPlaynite.<<GetGameMenuItems>b__24_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
   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)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(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)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at Playnite.DesktopApp.ProgramEntry.Main(String[] args) in C:\projects\playnite\source\Playnite.DesktopApp\ProgramEntry.cs:line 61
08-11 15:23:16.501|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ExtensionCrashHandlerWindowFactory
08-11 15:23:17.500|DEBUG|Downloader:Downloading string content from https://raw.githubusercontent.com/sharkusmanch/playnite-pcgamingwiki-metadata-provider/master/manifest.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:18.011|DEBUG|Downloader:Downloading string content from https://raw.githubusercontent.com/cooperate/SteamGridDBMetadata/master/Manifests/Installer_Manifest.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:18.457|DEBUG|Downloader:Downloading string content from https://github.com/JosefNemec/PlayniteExtensions/raw/master/manifests/Universal_Steam_Metadata.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:19.056|DEBUG|Downloader:Downloading string content from https://raw.githubusercontent.com/JosefNemec/PlayniteExtensions/master/manifests/AmazonLibrary_Builtin.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:19.507|DEBUG|Downloader:Downloading string content from https://raw.githubusercontent.com/JosefNemec/PlayniteExtensions/master/manifests/BattlenetLibrary_Builtin.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:19.955|DEBUG|Downloader:Downloading string content from https://github.com/JosefNemec/PlayniteExtensions/raw/master/manifests/BethesdaLibrary_Builtin.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:20.545|DEBUG|Downloader:Downloading string content from https://github.com/JosefNemec/PlayniteExtensions/raw/master/manifests/EpicGamesLibrary_Builtin.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:20.875|DEBUG|Downloader:Downloading string content from https://github.com/JosefNemec/PlayniteExtensions/raw/master/manifests/GogLibrary_Builtin.yaml using System.Text.UTF8Encoding encoding.
08-11 15:23:21.210|DEBUG|Downloader:Downloading string content from https://github.com/JosefNemec/PlayniteExtensions/raw/master/manifests/HumbleLibrary_Builtin.yaml using System.Text.UTF8Encoding encoding.
N1N74 commented 2 years ago

Sorry, couldn't figure how to send in plaintext so there's unexpected formatting due to github. Couldn't setup a portable playnite to test either but it should be easily recreatable if you try to backup a newly created manually added game. It seems to be consistent with new manually added entries but changing them to be identical or similar to older working entries did not work so I doubt if this is caused by any particular entry. There are also some old, not-installed manually added games which somehow don't cause this error.

Firehawke commented 2 years ago

@N1N74 Just dropping in to briefly give you some useful information for the future:

You can use a code block-- triple backticks (`) on either end of the quoted text.

For instance:

Hello there
Line 2
Line 3

would be done as ``` Hello there Line 2 Line 3 ```

This also works with Discord, by the way. Hope this helps!

mtkennerly commented 2 years ago

I just published v0.6.1 to fix this. Please let me know if you run into any additional problems.