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
904 stars 44 forks source link

0.6.1 does not start #2096

Open short-circuit opened 1 day ago

short-circuit commented 1 day ago

Bug Report

Summary

App does not start

Steps to reproduce

Just download the latest appimage or linux binaries and run the program. Errors are thrown and CTD

What is the expected behaviour?

App starts normally

Other information

Running the uninstall command just endlessly loops the program on file sync. Cannot be killed with ctrl+c. Needs a pgrep+pkill.

Most probably a dependency error? All listed dependencies from the wiki are installed. Does the wiki need a refresh?

0:00:00.000 [DEBUG] Hosting starting
00:00:00.191 [INFO] Bootstrapping the datom store, existing state found, last tx: 10000000000001b
00:00:00.193 [ERROR] Failed to add missing attributes|System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
   at NexusMods.MnemonicDB.Abstractions.Attribute`2.ReadAscii(ReadOnlySpan`1 span, Int32& readSize)
   at NexusMods.MnemonicDB.Abstractions.Attribute`2.ReadValue(ReadOnlySpan`1 span, ValueTags tag, RegistryId registryId)
   at NexusMods.MnemonicDB.Abstractions.Attributes.ScalarAttribute`2.Get(IHasIdAndIndexSegment entity)
   at NexusMods.MnemonicDB.Connection.ExistingAttributes()+MoveNext()
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector, IEqualityComparer`1 comparer)
   at NexusMods.MnemonicDB.Connection.AddMissingAttributes(IEnumerable`1 declaredAttributes)
   at NexusMods.MnemonicDB.Connection.Bootstrap()
00:00:00.204 [INFO] Using process log folder at /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs
00:00:00.211 [DEBUG] Using Sync File: /run/user/1000/NexusMods.App-sync_file.sync
00:00:00.223 [INFO] Using process logs /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/xdg-open-2024-09-26_08-53-46.stdout.log and /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/xdg-open-2024-09-26_08-53-46.stderr.log
00:00:00.223 [INFO] Executing command `xdg-open --version`
00:00:00.229 [INFO] Using applications directory `/home/shrtcrct/.local/share/applications`
00:00:00.229 [INFO] Moving existing desktop file from `/home/shrtcrct/.local/share/applications/com.nexusmods.app.desktop` to `/home/shrtcrct/.local/share/applications/com.nexusmods.app.desktop.bak`
00:00:00.229 [INFO] Creating desktop file at `/home/shrtcrct/.local/share/applications/com.nexusmods.app.desktop`
00:00:00.230 [INFO] Updating MIME cache database
00:00:00.230 [INFO] Using process logs /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/update-desktop-database-2024-09-26_08-53-46.stdout.log and /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/update-desktop-database-2024-09-26_08-53-46.stderr.log
00:00:00.230 [INFO] Executing command `update-desktop-database /home/shrtcrct/.local/share/applications`
00:00:00.237 [INFO] Command `xdg-open --version` finished after 0.0105809 seconds with exit Code 0
00:00:00.237 [INFO] xdg-open: RuntimeDependencyInformation { RawVersion = 1.2.1, Version = 1.2.1 }
00:00:00.237 [INFO] Using process logs /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/xdg-settings-2024-09-26_08-53-46.stdout.log and /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/xdg-settings-2024-09-26_08-53-46.stderr.log
00:00:00.237 [INFO] Executing command `xdg-settings --version`
00:00:00.240 [INFO] Command `update-desktop-database /home/shrtcrct/.local/share/applications` finished after 0.0086914 seconds with exit Code 0
00:00:00.240 [INFO] Using process logs /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/xdg-settings-2024-09-26_08-53-46.stdout.log and /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/xdg-settings-2024-09-26_08-53-46.stderr.log
00:00:00.240 [INFO] Executing command `xdg-settings set default-url-scheme-handler nxm com.nexusmods.app.desktop`
00:00:00.247 [INFO] Command `xdg-settings --version` finished after 0.0081862 seconds with exit Code 0
00:00:00.247 [INFO] xdg-settings: RuntimeDependencyInformation { RawVersion = 1.2.1, Version = 1.2.1 }
00:00:00.247 [INFO] Using process logs /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/update-desktop-database-2024-09-26_08-53-46.stdout.log and /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/update-desktop-database-2024-09-26_08-53-46.stderr.log
00:00:00.247 [INFO] Executing command `update-desktop-database --version`
00:00:00.255 [INFO] Command `update-desktop-database --version` finished after 0.0082156 seconds with exit Code 0
00:00:00.255 [INFO] update-desktop-database: RuntimeDependencyInformation { RawVersion = 0.27, Version = 0.27 }
00:00:00.255 [INFO] Using process logs /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/protontricks-2024-09-26_08-53-46.stdout.log and /home/shrtcrct/.local/state/NexusMods.App/Logs/ProcessLogs/protontricks-2024-09-26_08-53-46.stderr.log
00:00:00.255 [INFO] Executing command `protontricks --version`
00:00:00.371 [INFO] Command `protontricks --version` finished after 0.1153109 seconds with exit Code 0
00:00:00.371 [INFO] protontricks: RuntimeDependencyInformation { RawVersion = 1.12.0, Version = 1.12.0 }
00:00:00.371 [ERROR] Hosting failed to start|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)
Unhandled exception. System.AggregateException: One or more errors occurred. (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)
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>g__LogAndRethrow|15_3(<>c__DisplayClass15_0&)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   --- 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
[1]    575208 IOT instruction (core dumped)  ./NexusMods.App
Sewer56 commented 1 day ago

We've been made aware uninstaller is currently borked.

CTD is probably caused by non-clean uninstall. For now just remove this folder: ~/.local/share/NexusMods.App

With remaining App files and you should be good.

short-circuit commented 1 day ago

For now just remove this folder: ~/.local/share/NexusMods.App

This seems to work. Does uninstall only delete the folder or do anything else? Thanks!

Sewer56 commented 1 day ago

Uninstall should unmanage all games, restoring them to original state and then delete the folder. However it appears something broke in this process lately.