Nexus-Mods / NexusMods.App

Home of the development of the Nexus Mods App
https://nexus-mods.github.io/NexusMods.App/
GNU General Public License v3.0
978 stars 47 forks source link

0.5.3 AppImage crashes on launch #1769

Closed frozen-sea closed 3 months ago

frozen-sea commented 3 months ago

Bug Report

Summary

Using the AppImage on Arch Linux. 0.5.2 runs and works without issues, 0.5.3 crashes immediately on launch. I have used the previous version to disable all Stardew Valley mods and "remove" the game from the app. As far as I can tell using it didn't install anything elsewhere.

Steps to reproduce

Download the AppImage, chmod +x, run

What is the expected behaviour?

NexusMods app should launch

Other information

❯ ./NexusMods.App.x86_64.0.5.3.AppImage
Unhandled exception. System.AggregateException: One or more errors occurred. (One or more hosted services failed to start. (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.))
 ---> System.AggregateException: One or more hosted services failed to start. (Object reference not set to an instance of an object.) (Object reference not set to an instance of an object.)
 ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at NexusMods.StandardGameLocators.ManuallyAddedGame.FindByGameDomain(IDb db, GameDomain value) in /_/src/NexusMods.StandardGameLocators/obj/Release/net8.0/NexusMods.MnemonicDB.SourceGenerator/NexusMods.MnemonicDB.SourceGenerator.ModelGenerator/NexusMods_StandardGameLocators_ManuallyAddedGame.Generated.cs:line 39
   at NexusMods.StandardGameLocators.ManuallyAddedLocator.Find(ILocatableGame game) in /_/src/NexusMods.StandardGameLocators/ManuallyAddedLocator.cs:line 73
   at NexusMods.DataModel.GameRegistry.FindInstallations()+MoveNext() in /_/src/NexusMods.DataModel/GameRegistry/GameRegistry.cs:line 136
   at System.Collections.Generic.AsyncEnumerableHelpers.ToSet[T](IAsyncEnumerable`1 source, IEqualityComparer`1 comparer, CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/AsyncEnumerableHelpers.cs:line 108
   at System.Collections.Generic.AsyncEnumerableHelpers.ToSet[T](IAsyncEnumerable`1 source, IEqualityComparer`1 comparer, CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/AsyncEnumerableHelpers.cs:line 108
   at System.Linq.AsyncEnumerable.DistinctAsyncIterator`1.ToArrayAsync(CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Distinct.cs:line 56
   at NexusMods.DataModel.GameRegistry.Startup(CancellationToken token) in /_/src/NexusMods.DataModel/GameRegistry/GameRegistry.cs:line 69
   at NexusMods.DataModel.GameRegistry.StartAsync(CancellationToken cancellationToken) in /_/src/NexusMods.DataModel/GameRegistry/GameRegistry.cs:line 151
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
   --- End of inner exception stack trace ---
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>g__LogAndRethrow|15_3(<>c__DisplayClass15_0&)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
 ---> (Inner Exception #1) System.NullReferenceException: Object reference not set to an instance of an object.
   at NexusMods.Networking.Downloaders.Tasks.State.DownloaderState.All(IDb db) in /_/src/Networking/NexusMods.Networking.Downloaders/obj/Release/net8.0/NexusMods.MnemonicDB.SourceGenerator/NexusMods.MnemonicDB.SourceGenerator.ModelGenerator/NexusMods_Networking_Downloaders_Tasks_State_DownloaderState.Generated.cs:line 81
   at NexusMods.Networking.Downloaders.DownloadService.StartAsync(CancellationToken cancellationToken) in /_/src/Networking/NexusMods.Networking.Downloaders/DownloadService.cs:line 162
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)<---

   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait(TimeSpan timeout, CancellationToken cancellationToken)
   at NexusMods.App.Program.Main(String[] args) in /_/src/NexusMods.App/Program.cs:line 63
fish: Job 1, './NexusMods.App.x86_64.0.5.3.Ap…' terminated by signal SIGABRT (Abort)

Attaching the only log found in: ~/.local/state/NexusMods.App/Logs nexusmods.app.main.current.log

update-desktop-database-2024-07-16_00-54-01.stderr.log and update-desktop-database-2024-07-16_00-54-01.stdout.log also got created, but are both 0 bytes.

adamdmoss commented 3 months ago

I believe it's helped others with the same problem to nuke their ~/.local/state/NexusMods.App when upgrading to 0.5.3.

Sewer56 commented 3 months ago

I believe it's helped others with the same problem to nuke their ~/.local/state/NexusMods.App when upgrading to 0.5.3.

Yes that's the correct approach. I thought I closed this with the note, but it seems I didn't.

I'll mark this as duplicate of: